Python操作lxml庫實戰(zhàn)之Xpath篇
?一、Xpath概述
1、Xpath簡介
Xpath(XML Path Language) 是一門在 XML 文檔中查找信息的語言,可以用來在XML文檔中對元素和屬性進行遍歷。XPath 用于在 XML 文檔中通過元素和屬性進行導(dǎo)航。其是一種路徑語言(XML Path Language),用來確定XML文檔中某部分的位置。
XPath基于XML的樹狀結(jié)構(gòu),提供在數(shù)據(jù)結(jié)構(gòu)樹中找尋節(jié)點的能力。起初XPath的提出的初衷是將其作為一個通用的、介于XPointer與XSL間的語法模型。但是XPath很快的被開發(fā)者采用來當(dāng)作小型*查詢語言被廣泛使用。
2、 Xpath的安裝
Xpath只是 lxml 庫中的一個模塊,想要使用 Xpath 那么就需要安裝 lxml 庫
pip install lxml
二、Xpath的常用規(guī)則
1、路徑查找
Xpath 的主要語法

2、節(jié)點查找
查找節(jié)點的一些語法

3、未知節(jié)點
當(dāng)我們匹配時會出現(xiàn)路徑不確定的情況,這個時候我們就要涉及到匹配未知節(jié)點。匹配未知節(jié)點也有對應(yīng)的語法。

4、獲取節(jié)點中的文本
通過 屬性方法可以獲取屬性內(nèi)的內(nèi)容,但是位于節(jié)點之間的內(nèi)容無法獲取到,這個時候就可以通過 text() 與 string() 方法來獲得其中的文本。
通過 text() 獲取某個節(jié)點中的文本
In [1]: page.xpath('//li/a[3]/text()')
Out[1]: ['霸道總裁愛上我', '斗羅大陸']
#通過 text() 屬性可以很輕松的獲取標(biāo)簽之間的文本。通過 string() 獲取某個節(jié)點中的文本
In [1]: page.xpath('string(//li[1]/a[3])')
Out[1]: '霸道總裁愛上我'5、選取多個路徑
需要同時查找多個條件時可以通過在路徑表達式中使用管道符("|"),選取若干個路徑
In [1]: page.xpath('XXXXXXX | XXXXXXXtext()')
Out[1]: ['']
總結(jié)
到此這篇關(guān)于Python操作lxml庫實戰(zhàn)之Xpath篇的文章就介紹到這了,更多相關(guān)Python操作lxml庫Xpath篇內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python算法與數(shù)據(jù)結(jié)構(gòu)朋友圈與水杯實驗題分析實例
這篇文章主要介紹了python算法與數(shù)據(jù)結(jié)構(gòu)朋友圈與水杯實驗題分析,總的來說這并不是難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路2022-12-12
python+pywinauto+lackey實現(xiàn)PC端exe自動化的示例代碼
這篇文章主要介紹了python+pywinauto+lackey實現(xiàn)PC端exe自動化的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
python自動查詢12306余票并發(fā)送郵箱提醒腳本
這篇文章主要為大家詳細介紹了Python自動查詢12306余票并發(fā)送郵箱提醒腳本,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
JupyterNotebook 如何調(diào)整輸出窗口的顯示效果
這篇文章主要介紹了JupyterNotebook 輸出窗口的顯示效果調(diào)整實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
講解如何利用 Python完成 Saga 分布式事務(wù)
這篇文章主要介紹了如何利用 Python 完成一個 Saga 的分布式事務(wù),需要的朋友可以參考下面文章具體的內(nèi)容2021-09-09

