pythonxpath解析xml
『壹』 python解析庫lxml與xpath用法總結
本文主要圍繞以xpath和lxml庫進行展開:
一、xpath 概念、xpath節點、xpath語法、xpath軸、xpath運算符
二、lxml的安裝、lxml的使用、lxml案例
一、xpath
1.xpath概念
XPath 是一門在 XML 文檔中查找信息的語言。XPath 使用路徑表達式在 XML 文檔中進行導航 。XPath 包含一個標准函數庫 。XPath 是 XSLT 中的主要元素 。XPath 是一個 W3C 標准 。
2.xpath節點
xpath有七種類型的節點:元素、屬性、文本、命名空間、處理指令、注釋以及文檔(根)節點。
節點關系:父、子、兄弟、先輩、後輩。
3.xpath語法
xpath語法在W3c網站上有詳細的介紹,這里截取部分知識,供大家學習。
XPath 使用路徑表達式在 XML 文檔中選取節點。節點是通過沿著路徑或者 step 來選取的。下面列出了最有用的路徑表達式:
在下面的表格中,我們已列出了一些路徑表達式以及表達式的結果:
謂語用來查找某個特定的節點或者包含某個指定的值的節點。
謂語被嵌在方括弧中。
在下面的表格中,我們列出了帶有謂語的一些路徑表達式,以及表達式的結果:
XPath 通配符可用來選取未知的 XML 元素。
在下面的表格中,我們列出了一些路徑表達式,以及這些表達式的結果:
通過在路徑表達式中使用"|"運算符,您可以選取若干個路徑。
在下面的表格中,我們列出了一些路徑表達式,以及這些表達式的結果:
4.xpath 軸
軸可定義相對於當前節點的節點集。
5.xpath運算符
下面列出了可用在 XPath 表達式中的運算符:
好了,xpath的內容就這么多了。接下來我們要介紹一個神器lxml,他的速度很快,曾經一直是我使用beautifulsoup時最鍾愛的解析器,沒有之一,因為他的速度的確比其他的html.parser 和html5lib快了許多。
二、lxml
1.lxml安裝
lxml 是一個xpath格式解析模塊,安裝很方便,直接pip install lxml 或者easy_install lxml即可。
2.lxml 使用
lxml提供了兩種解析網頁的方式,一種是你解析自己寫的離線網頁時,另一種 則是解析線上網頁。
導入包:
1.解析離線網頁:
2.解析在線網頁:
那麼我們怎麼獲取這些標簽和標簽對應的屬性值了,很簡單,首先獲取標簽只需你這樣做:
然後我們可以,比方說,你要獲取a標簽內的文本和它的屬性href所對應的值,有兩種方法,
1.表達式內獲取
2.表達式外獲取
這樣就完成了獲取,怎麼樣,是不是很簡單了,哈哈哈。
下面再來lxml的解析規則:
3.lxml案例
為了偷懶,我決定還是採用urllib那篇文章的代碼,哈哈哈,機智如我。
『貳』 python中function沒有xpath屬性什麼意思
在Python中,函數(function)是一種對象,它可以被調用以執行特定的任務。與其他對象一樣,函數也有一些屬性,例如__name__、__doc__等。隱山但是,函數對象沒有xpath屬性,因為xpath是一種用於在XML文檔中定位元素的語言,與Python函指坦數沒有直接關系。如果您需要在Python中使用xpath,可以使用lxml庫或者xml.etree.ElementTree庫。這些庫提供了一些函數和類,可以幫灶逗中助您解析XML文檔並使用xpath表達式來定位元素。