篇三:XPath--解析Html

导语:爬虫爬取的界面,大致分为静态界面、ajax异步加载、动态界面。静态界面直接获取HTML对象,然后使用XPath获取值

最有用的路径表达式:

表达式描述
nodename选取此节点的所有子节点。
/从根节点选取。
//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
.选取当前节点。
..选取当前节点的父节点。
@选取属性。

一、获取HTML对象

//import us.codecraft.webmagic.selector.Html;
Html html= page.getHtml();

二、常用列举

//查询所有id=‘ne_article_source’的节点的文本值
String source=page.getHtml().xpath("//*[@]/text()").get();

//查询所有id=‘endText’下p节点的文本,查询的是列表
List<String> contextList=page.getHtml().xpath("//*[@]/p/text()").all();

//查询所有下p包含的图片的src列表
List<String> imgurlList=page.getHtml().xpath("//*[@]/p/img/@src").all();

//查询所有下p包含的图片对象列表
List<String> imgurlList=page.getHtml().xpath("//*[@]/p/img").all();

三、实际应用

  1、直接使用浏览器调试工具,获取元素XPath

    Google:http://blog.csdn.net/li6727975/article/details/46126079

    FireFox:http://jingyan.baidu.com/article/0a52e3f4345772bf62ed72b1.html

    360:F12-->Elements-->选中元素,右键“Copy XPath”

  2、学习地址:http://www.w3school.com.cn/xpath/xpath_syntax.asp