篇三:XPath--解析Html

时间:2021-03-24 03:09:19

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

最有用的路径表达式:

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

一、获取HTML对象

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

二、常用列举

//查询所有id=‘ne_article_source’的节点的文本值
String source=page.getHtml().xpath("//*[@id='ne_article_source']/text()").get(); //查询所有id=‘endText’下p节点的文本,查询的是列表
List<String> contextList=page.getHtml().xpath("//*[@id='endText']/p/text()").all(); //查询所有id='endText'下p包含的图片的src列表
List<String> imgurlList=page.getHtml().xpath("//*[@id='endText']/p/img/@src").all(); //查询所有id='endText'下p包含的图片对象列表
List<String> imgurlList=page.getHtml().xpath("//*[@id='endText']/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