python爬蟲之xpath的基本使用

2021-09-25 07:22:56 字數 1520 閱讀 7216

xpath 是一門在 xml 文件中查詢資訊的語言。xpath 用於在 xml 文件中通過元素和屬性進行導航。

所以在使用xpath之前需要了解html以及xml相關知識。

xml例項文件:我們將在下面的例子中使用這個 xml 文件。

<?xml version="1.0" encoding="iso-8859-1"?>

>

>

lang

="eng"

>

harry pottertitle

>

>

29.99price

>

book

>

>

lang

="eng"

>

learning xmltitle

>

>

39.95price

>

book

>

bookstore

>

xpath 使用路徑表示式在 xml 文件中選取節點。節點是通過沿著路徑或者 step 來選取的。

下面列出了最有用的路徑表示式:

表示式描述

nodename

選取此節點的所有子節點。

/從根節點擊取。

//從匹配選擇的當前節點擊擇文件中的節點,而不考慮它們的位置。

.選取當前節點。

…選取當前節點的父節點。

@選取屬性。

*匹配任何元素節點。

@*匹配任何屬性節點。

node()

匹配任何型別的節點。

|運算子

您可以選取若干個路徑。

在下面的**中,我們已列出了一些路徑表示式以及表示式的結果:

路徑表示式

結果bookstore

選取 bookstore 元素的所有子節點。

/bookstore

選取根元素 bookstore。注釋:假如路徑起始於正斜槓( / ),則此路徑始終代表到某元素的絕對路徑!

bookstore/book

選取屬於 bookstore 的子元素的所有 book 元素。

//book

選取所有 book 子元素,而不管它們在文件中的位置。

bookstore//book

選擇屬於 bookstore 元素的後代的所有 book 元素,而不管它們位於 bookstore 之下的什麼位置。

//@lang

選取名為 lang 的所有屬性。

/bookstore/*

選取 bookstore 元素的所有子元素。

//*選取文件中的所有元素。

//title[@*]

選取所有帶有屬性的 title 元素。

//*[@class=「small_list_gallery」]

查詢當前頁面任何class值為這個的元素

中括號裡填謂語,查詢從1開始算:

text()這個可以獲取文字內容

python 爬蟲之xpath用法

xpath全稱為xml path language一種小型的查詢語言,在爬蟲中,我們其實就是拿它來搜尋html文件,僅此而已。而網頁內容只有通過解析才能進行搜尋,所以使用xpath時,需要引入lxml庫,這個庫就是來解析網頁,協助xpath進行搜尋的。lxml庫的安裝,可以直接使用 pip3 ins...

Python爬蟲之Xpath解析

例項化乙個etree物件,且需要將被解析的頁面的原始碼資料載入到該物件中 呼叫etree物件中的xpath方法結合著xpath表示式實現標籤的定位和內容的捕獲 pip install lxmlfrom lxml import etree1 將本地的html檔案中的原始碼載入到etree物件中 etr...

python爬蟲之xpath的基本使用

一 簡介 xpath 是一門在 xml 文件中查詢資訊的語言。xpath 可用來在 xml 文件中對元素和屬性進行遍歷。xpath 是 w3c xslt 標準的主要元素,並且 xquery 和 xpointer 都構建於 xpath 表達之上。二 安裝 pip3 install lxml三 使用 1...