lxml中的xpat詳細使用介紹

2022-09-19 07:39:07 字數 1835 閱讀 9258

lxml中的xpat詳細使用介紹:

import

lxml

import

lxml.etree

html=lxml.etree.parse("

index.html")

print

(type(html))

res=html.xpath("

//li

") #

res是乙個列表,包含所有元素

print

(len(res))

print(type(res)) #

list

print(type(res[0])) #節點#

//選取所有book 子元素

#/選擇路徑目錄,選擇乙個

#@ 選擇屬性

print(html.xpath("

//li/@class

")) #

取出li的所有節點class名稱

print(html.xpath("

//li/@text

")) #

print(html.xpath("

//li/a

")) #

li下面5個節點,每個節點對於乙個元素

print(html.xpath("

//li/a/@href

")) #

取出li的所有節點 a內部href名稱

print(html.xpath("

//li/a/@href=\"link3.html\"

")) #

判斷是有乙個節點==link3.html

print(html.xpath("

//li/span

")) #

取出li下面的所有span

print(html.xpath("

//li/span/@class

")) #

取出li下面所有的span內部的class

print(html.xpath("

//li//a/@class

")) #

取出li的所有節點內部節點a包含的class

print(html.xpath("

//li

")) #

取出所有節點

print(html.xpath("

//li[1]

")) #

取出第乙個節點

print(html.xpath("

//li[last()]

")) #

取出最後乙個

print(html.xpath("

//li[last()-1]

")) #

取出倒數第二個

#print(html.xpath("//li[last()-1])/a/@href") #取出倒數第二個a下面的href

print(html.xpath("

//*[@text=\"3\"]

"))#

選著text=3的元素

print(html.xpath("

//*[@text=\"3\"]/@class

")) #

選著text=3的元素

print(html.xpath("

//*[@class=\"nimei\"]"))

print(html.xpath("

//li//a/text()

")) #

text() 取出<>

print(html.xpath("

//li[3]/a/span/text()

")) #

取出內部<>資料

request結合lxml包中的xpath使用

coding utf 8 爬蟲必須寫,防止編譯錯誤 import requests import re 正則 from lxml import etree 轉化html文件包 url 統一資源定位符 headers 請求頭 html all print requests.get url url,he...

python中lxml使用方式

前言 前面已經學習了requests和beautifulsoup庫的知識,大家可以看,今天再來學習一下用一種網頁解析的庫lxml。lxml是python語言裡和xml以及html工作的功能最豐富和最容易使用的庫。lxml是為libxml2和libxslt庫的乙個python化的繫結。它與眾不同的地方...

lxml模組的使用

安裝 pip install lxml 匯入lxml 的 etree 庫 匯入沒有提示不代表不能用 from lxml import etree 利用etree.html,將字串轉化為element物件,element物件具有xpath的方法,返回結果的列表,能夠接受bytes型別的資料和str型別...