xpath相關用法及技巧


本節講解網頁解析神器----XPath

  1. lxml下載

  2. xpath基本用法

  3. xpath插件

Xpath及XML路徑語言,它是一門在XML文檔查找信息的語言。

一:lxml下載以及安裝

首先需要解決lxml的安裝問題,在Windows下我們可以嘗試使用pip install lxml 下載,如果沒有任何報錯的,恭喜安裝成功,下面可以進行騷操作了;如果出現報錯,出現的提示出現libxml2庫等信息,可以采用wheel安裝。

wheel的安裝方法:推薦去 http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml下載對應的lxml文件,切換到下載文件的目錄下,進入cmd,pip install {文件名}.wheel進行安裝。

二:xpath的使用方法

介紹一下xpath的常用規則:

表達式 描述 示例 結果
nodename 選取此節點的所有子節點 xbhog 選取xbhog下所有的子節點
/ 如果是在最前面,代表從根節點選取。否則選擇某節點下的某個節點 /xbhog 選取根元素下所有的xbhog節點
// 從全局節點中選擇節點,隨便在哪個位置 //xbhog 從全局節點中找到所有的xbhog節點
@ 選取某個節點的屬性 //xbhog[@price] 選擇所有擁有price屬性的xbhog節點
. 當前節點 ./a 選取當前節點下的a標簽
路徑表達式 描述
/bookstore/book[1] 選取bookstore下的第一個子元素
/bookstore/book[last()] 選取bookstore下的倒數第二個book元素。
bookstore/book[position()<3] 選取bookstore下前面兩個子元素。
//book[@price] 選取擁有price屬性的book元素
//book[@price=10] 選取所有屬性price等於10的book元素

這些基本規則基本上滿足日常需求了,如果還有其他問題,百度是個好東西你值得擁有。

下面舉個例子實戰一下:

下面是我博客的內容,我們需要做的就是爬取這一頁的標題內容:[兩個數組的交集.......],想一下!

 

我們先打開開發者模式,找到標題所在的網頁源代碼:

我們從最里面一步一步往外推,<a> --> <h4> --> <div class="article-item-box csdn-tracking-statistics"> --><div class="article-list">

<div class="article-list"> 是  <h4> 標簽的父節點

<div class="article-list"> 是  <a> 標簽的孫節點

<h4> 是 <a> 標簽的父節點

所以我們可以參照上面的常用規則寫出://div[@class='article-list']//h4表達式,我們看到下圖中的標題都已經選中了,這就證明我們寫的表達式正確。

三:插件介紹

有人會發現我圖片中出現黑色的框,這是谷歌的一個插件(xpath helper), 在chrome瀏覽器安裝好xpath helper插件后(科學訪問,人人有責), 點擊 Ctrl + Shift + X 激活 XPath Helper 的控制台,然后您可以在 Query 文本框中輸入相應 XPath 進行調試了,提取的結果將被顯示在旁邊的 Result 文本框中,可以實時檢測自己的表達式是否正確。

 

最后有個小補充,如果你不想寫xpath語法,你還可以F12,選中你想要的信息右擊,copy--copy xpath,缺點是沒有手寫的簡潔,copy的比較繁瑣,不利於閱讀。

 

爬蟲系列----未完待續.......

分享及成功,你的報應就是我,記得關注!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM