XPath語法和lxml模組

2021-10-06 20:59:55 字數 3037 閱讀 7306

xpath(xml path language)是一門在xml和html文件中查詢資訊的語言,可用來在xml和html文件中對元素和屬性進行遍歷。

chrome外掛程式xpath helper。

安裝方法:

開啟外掛程式伴侶,選擇外掛程式

選擇提取外掛程式內容到桌面,桌面上會多乙個資料夾

把資料夾放入想要放的路徑下

開啟谷歌瀏覽器,選擇擴充套件程式,開發者模式開啟,選擇載入已解壓的擴充套件程式,選擇路徑開啟即可

firefox外掛程式try xpath。

在 xpath 中,有七種型別的節點:元素、屬性、文字、命名空間、處理指令、注釋以及文件(根)節點。xml 文件是被作為節點樹來對待的。樹的根被稱為文件節點或者根節點。

使用//獲取整個頁面當中的元素,然後寫標籤名,然後在寫謂語進行提取,比如:

//title[@lang=

'en'

]

/和//的區別:/代表只獲取子節點,//獲取子孫節點,一般//用的比較多,當然也要視情況而定

contains:有時候某個屬性中包含了多個值,那麼可以使用contains函式,示例如下:

//title[contains(@lang,

'en'

)]

謂詞中下標是從1開始的,不是從0開始的

lxml 是 乙個html/xml的解析器,主要的功能是如何解析和提取 html/xml 資料。

from lxml import etree

text =

'''

'''# 將字串解析為html文件

html = etree.html(text)

print

(html)

# 按字串序列化html

result = etree.tostring(html)

.decode(

'utf-8'

)print

(result)

#讀取

html = etree.parse(

'hello.html'

)result = etree.tostring(html)

.decode(

'utf-8'

)print

(result)

>

>

class

="item-0"

>

href

="link1.html"

>

first itema

>

li>

class

="item-1"

>

href

="link2.html"

>

second itema

>

li>

class

="item-inactive"

>

href

="link3.html"

>

class

="bold"

>

third itemspan

>

a>

li>

class

="item-1"

>

href

="link4.html"

>

fourth itema

>

li>

class

="item-0"

>

href

="link5.html"

>

fifth itema

>

li>

ul>

div>

語法練習

from lxml import etree

html = etree.parse(

'hello.html'

)# 獲取所有li標籤:

result = html.xpath(

'//li'

)print

(result)

for i in result:

print

(etree.tostring(i)

)# 獲取所有li元素下的所有class屬性的值:

result = html.xpath(

'//li/@class'

)print

(result)

# 獲取li標籤下href為www.baidu.com的a標籤:

# 獲取li標籤下所有span標籤:

result = html.xpath(

'//li//span'

)print

(result)

# 獲取li標籤下的a標籤裡的所有class:

result = html.xpath(

'//li/a//@class'

)print

(result)

# 獲取最後乙個li的a的href屬性對應的值:

result = html.xpath(

'//li[last()]/a/@href'

)print

(result)

# 獲取倒數第二個li元素的內容:

result = html.xpath(

'//li[last()-1]/a'

)print

(result)

print

(result[0]

.text)

# 獲取倒數第二個li元素的內容的第二種方式:

result = html.xpath(

'//li[last()-1]/a/text()'

)print

(result)

XPath語法和lxml模組

xpath xml path language 是一門在xml和html文件中查詢資訊的語言,可用來在xml和html文件中對元素和屬性進行遍歷。chrome外掛程式xpath helper。firefox外掛程式try xpath。xpath 使用路徑表示式來選取 xml 文件中的節點或者節點集。...

XPath語法和lxml模組(上)

xpath xml path language 是一門在xml和html文件中查詢資訊的語言,可用來在xml和html文件中對元素和屬性進行遍歷。chrome外掛程式xpath helper。firefox外掛程式try xpath。xpath 使用路徑表示式來選取 xml 文件中的節點或者節點集。...

例項帶你快速入門XPath語法和lxml模組

xpath xml path language 是一門在xml和html文件中查詢資訊的語言,可用來在xml和html文件中對元素和屬性進行遍歷。chrome外掛程式xpath helper。firefox外掛程式try xpath。xpath 使用路徑表示式來選取 xml 文件中的節點或者節點集。...