Python爬蟲 Xpath語法筆記

2021-09-01 13:21:47 字數 2544 閱讀 8735

一、選取節點

常用的路勁表示式:

表示式描述

例項nodename

選取nodename節點的所有子節點

xpath(『//div』)

選取了div節點的所有子節點

/從根節點擊取

xpath(『/div』)

從根節點上選取div節點

//選取所有的當前節點,不考慮他們的位置

xpath(『//div』)

選取所有的div節點

.選取當前節點

xpath(『./div』)

選取當前節點下的div節點

..選取當前節點的父節點

xpath(『..』)

回到上乙個節點

@選取屬性

xpath(』//@calss』)

選取所有的class屬性

二、謂語

謂語被嵌在方括號內,用來查詢某個特定的節點或包含某個制定的值的節點

例項:表示式

結果xpath(『/body/div[1]』)

選取body下的第乙個div節點

xpath(『/body/div[last()]』)

選取body下最後乙個div節點

xpath(『/body/div[last()-1]』)

選取body下倒數第二個div節點

xpath(『/body/div[positon()<3]』)

選取body下前兩個div節點

xpath(『/body/div[@class]』)

選取body下帶有class屬性的div節點

xpath(『/body/div[@class=」main」]』)

選取body下class屬性為main的div節點

xpath(『/body/div[price>35.00]』)

選取body下price元素值大於35的div節點

三、萬用字元

xpath通過萬用字元來選取未知的xml元素

表示式結果

xpath(』/div/*』)

選取div下的所有子節點

xpath(『/div[@*]』)

選取所有帶屬性的div節點

四、取多個路徑

使用「|」運算子可以選取多個路徑

表示式結果

xpath(『//div|//table』)

選取所有的div和table節點

五、xpath軸

軸可以定義相對於當前節點的節點集

軸名稱表示式

描述ancestor

xpath(『./ancestor::*』)

選取當前節點的所有先輩節點(父、祖父)

ancestor-or-self

xpath(『./ancestor-or-self::*』)

選取當前節點的所有先輩節點以及節點本身

attribute

xpath(『./attribute::*』)

選取當前節點的所有屬性

child

xpath(『./child::*』)

返回當前節點的所有子節點

descendant

xpath(『./descendant::*』)

返回當前節點的所有後代節點(子節點、孫節點)

following

xpath(『./following::*』)

選取文件中當前節點結束標籤後的所有節點

following-sibing

xpath(『./following-sibing::*』)

選取當前節點之後的兄弟節點

parent

xpath(『./parent::*』)

選取當前節點的父節點

preceding

xpath(『./preceding::*』)

選取文件中當前節點開始標籤前的所有節點

preceding-sibling

xpath(『./preceding-sibling::*』)

選取當前節點之前的兄弟節點

self

xpath(『./self::*』)

選取當前節點

六、功能函式

使用功能函式能夠更好的進行模糊搜尋

函式用法

解釋starts-with

xpath(『//div[starts-with(@id,」ma」)]『)

選取id值以ma開頭的div節點

contains

xpath(『//div[contains(@id,」ma」)]『)

選取id值包含ma的div節點

andxpath(『//div[contains(@id,」ma」) and contains(@id,」in」)]『)

選取id值包含ma和in的div節點

text()

xpath(『//div[contains(text(),」ma」)]『)

選取節點文字包含ma的div節點

Python爬蟲 Xpath語法筆記

一 選取節點 常用的路勁表示式 表示式描述 例項nodename 選取nodename節點的所有子節點 xpath div 選取了div節點的所有子節點 從根節點擊取 xpath div 從根節點上選取div節點 選取所有的當前節點,不考慮他們的位置 xpath div 選取所有的div節點 選取當...

python爬蟲 xpath解析語法

xpath 是一門在xml或者html文件中導航查詢資訊的語法,對html有很好的支援 xpath 是乙個w3c的標準 xpath 包含標準庫 2.1節點擊擇 表示式 nodename nodename 選取此節點的所有子節點 從根節點擊取 div 選取所有div子元素,而不考慮他們的位置 選取當前...

爬蟲 xpath語法

使用 獲取整個頁面當中的元素,然後寫標籤名,然後再寫謂詞進行提取。比如 div class abc 和 的區別 代表只獲取直接子節點。獲取子孫節點。一般 用得比較多。當然也要視情況而定。contains 有時候某個屬性中包含了多個值,那麼可以使用contains函式。示例 如下 div contai...