python爬蟲之xpath的基本使用

2021-08-25 11:09:46 字數 2678 閱讀 6830

一、簡介

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

二、安裝

pip3 install lxml
三、使用

1、匯入

from lxml import etree
2、基本使用

from lxml import etree

wb_data = """

class="item-0">

href="link1.html">first itema>

li>

class="item-1">

href="link2.html">second itema>

li>

class="item-inactive">

href="link3.html">third itema>

li>

class="item-1">

href="link4.html">fourth itema>

li>

class="item-0">

href="link5.html">fifth itema>

ul>

div>

"""html = etree.html(wb_data)

print(html)

四、使用案例

1、獲取a標籤裡面的內容

html = etree.html(wb_data)

html_data = html.xpath('/html/body/div/ul/li/a')

print(html)

for i in html_data:

print(i.text)

at0x12fe4b8>

first

item

second

item

third

item

fourth

item

fifth

item

2、獲取指定標籤裡面的內容

html_data = html.xpath('/html/body/div/ul/li/a/text()')

print(html)

for i in html_data:

print(i)

at0x138e4b8>

first

item

second

item

third

item

fourth

item

fifth

item

3、獲取a標籤的屬性

html = etree.html(wb_data)

html_data = html.xpath('/html/body/div/ul/li/a/@href')

for i in html_data:

print(i)

列印:link1.html

link2.html

link3.html

link4.html

link5.html

4、獲取指定標籤裡面的內容

html_data = html.xpath('/html/body/div/ul/li/a[@href="link2.html"]/text()')

print(html_data)

for i in html_data:

print(i)

列印:['second

item']

second

item

5、使用li標籤下的a標籤內容。(使用相對路徑)

html = etree.html(wb_data)

html_data = html.xpath('//li/a/text()')

print(html_data)

for i in html_data:

print(i)

列印:['first item', 'second item', 'third item', 'fourth item', 'fifth item']

first item

second item

third item

fourth item

fifth item

6、查詢倒數第二個a標籤的href屬性

html = etree.html(wb_data)

html_data = html.xpath('//li[last()-1]/a/text()')

print(html_data)

for i in html_data:

print(i)

列印:['fourth item']

fourth item

7、通過屬性名稱等提權

//*[

@id="kw"]

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之前需要了解html以及xml相關知識。xml例項文件 我們將在下面的例子中使用這個 xml 文件。lang eng harry pottertitle 29.99pri...