最新想写个抓图片的小软件玩玩,需要分析 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 属性的元素
找所有拥有 src 属性的图片元素