最近自己做的项目需要解析第三方的网页,up主找到Gumbom这个第三方框架,感觉比较OK,在这里分享给大家:Gumbom
要想做网页数据解析,首先要了解一些基本概念:
我们可以理解对应网页的数据成一个Document文档,里面的数据结构是树,所以会有节点概念,整个<html>..... </html> 中包含的东西就是DOM模型,html标签就是树的根,其他有兄弟关系,父子关系的节点
节点有:
元素节点(element node )如 p ul标签等
文本节点 (text node ) 如<a>hello</a> 中的hello 就是
属性节点 (attribute node ) 如 src title 等等这些属性
给一个我使用的例子:
1,首先要集成 Gumbom到项目中,在对应的使用地方引入头文件
2,获取并创建对应的文档对象
3,抓取节点对应的数据:
(1)根据节点id拿到对应的节点,如要拿 id = s_is_result_css 对应的节点,要同过方法:注意这样通常找到是一个数组,具体获取数据还要进行校验,不然会崩溃哦
document.Query(@"#s_is_result_css")
(2)如果是拿文本属性,需要用到element.text(), 如果是拿节点属性值,则用 attr(@"src")等获取,如下:
温馨提醒:因为获得的网页里面很多地方标签 属性同名,所以一定要数据处理的为空校验
最后,附上语法表,有什么疑问可以多多交流