Html Agility Pack – XPath 基本语法
2010-07-07 21:12
295 查看
最新想写个抓图片的小软件玩玩,需要分析 Html 结构,开始时自己写正则抓,后来发现要处理的 Html 实在太不标准,于是找来找去,找到了 Html Agility Pack 这个开源的 .Net 项目,初略尝试,印象很不错。 Html Agility Pack 会将 Html 文件解析为一个 Xml 文档,所以支持 XPath 路径查询,并且还支持规范化文档,不管你的 Html 有多乱,它都能将其规范化,容错性很好。
但是文档真是难找,大概是语言不熟加上没找到地方,好在语法也不太难,言归正传,看看例子吧。
//div[@id='toolbar']/a/img/@src
看上面的例子,可以初步解析得出这是一个查找 id=’toolbar’ 的 div 元素内的 a 元素内的 img 元素,并且拥有 src 属性,那么就可以得出以下关键符号:
// 作为开头使用
/ 分隔符
@ 属性标志
[] 属性选择器
根据上面的结论写一些例子:
找所有拥有 href 属性的元素
//@href
找所有拥有 src 属性的图片元素
//img/@src
但是文档真是难找,大概是语言不熟加上没找到地方,好在语法也不太难,言归正传,看看例子吧。
//div[@id='toolbar']/a/img/@src
看上面的例子,可以初步解析得出这是一个查找 id=’toolbar’ 的 div 元素内的 a 元素内的 img 元素,并且拥有 src 属性,那么就可以得出以下关键符号:
// 作为开头使用
/ 分隔符
@ 属性标志
[] 属性选择器
根据上面的结论写一些例子:
找所有拥有 href 属性的元素
//@href
找所有拥有 src 属性的图片元素
//img/@src
相关文章推荐
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- HtmlAgilityPack和XPath
- Html Agility Pack学习(二):与Firefox插件Xpath/Firebug的结合应用
- WP8 中使用HTML Agility Pack与友盟分享SDK遇到的 System.Xml.XPath加载问题
- 网页采集(通过HtmlAgilityPack+XPath)
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- 使用HtmlAgilityPack XPath 表达式抓取博客园数据
- 黄聪:HtmlAgilityPack中SelectSingleNode的XPath和CSS选择器
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- C# HTML解析工具HtmlAgilityPack XPath 模糊查询not()函数和contains()函数
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- 使用HtmlAgilityPack XPath 表达式抓取博客园数据的实现代码
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- HtmlAgilityPack System.Xml.XPath.IXPathNavigable”在未被引用的程序集中定义
- 使用HtmlAgilityPack XPath 表达式抓取博客园数据的实现代码
- [置顶]C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- 【C#】通过HtmlAgilityPack+XPath来优化网页采集学习笔记
- HtmlAgilityPack使用——XPath注意事项
- HtmlAgilityPack/xpath