導語:爬蟲爬取的界面,大致分為靜態界面、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”