xpath,xml path language。是一種小型的查詢語言,是一門在xml文件中查詢的語言。
優點:可以在xml中查詢資訊;支援html的查詢;可通過元素和屬性進行導航。
xpath的樹形結構:
使用xpath選取節點
表示式描述nodename
選取此節點的所有子節點
/從根節點擊擇
//從匹配選擇的當前節點擊擇文件中的節點,而不考慮它們的位置
.選取當前節點
…選取當前節點的父節點
/text()
獲取當前路徑下的文字內容
/@***
獲取當前路徑下標籤的屬性值
|可選符:可選取若干個路徑//p|//div,在當前路徑下選取所有符合條件的p標籤和div標籤
表示式描述
xpath(』/body/div[1]』)
選取body下第乙個div節點
xpath(』/body/div[last()]』)
選取body下最後乙個div節點
xpath(』/body/div[last(-1)]』)
選取body下倒數第二個div節點
xpath(』/body/div[position()<4]』)
選取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解析出現亂碼 解決方import requests
from lxml import etree
url =
""headers =
resp = requests.get(url, headers=headers)
resp.encoding =
'gbk'
e = etree.html(resp.text)
# 型別轉換 將str型轉換成
# print(type(e))
names = e.xpath(
'//div[@class="wl"]/ul[@class="sortimg"]/li/p/a/text()'
)authors = e.xpath(
'//div[@class="wl"]/ul[@class="sortimg"]/li/a/b/text()'
)for name, author in
zip(names,authors)
(name+
":"+author)
解析資料 正則,xpath
正規表示式拆分 importre 1.拆分字串 one asdsfsgsh 標準 是 s 為拆分 pattern re.compile s result pattern.split one print result 2.匹配中文 two 網頁是最新版本的,適配移動端 python中 匹配中問 a z...
xpath解析基礎
import requests from lxml import etree if name main headers ua偽裝 例項化好了乙個etree物件,且將被解析的檔案載入到了物件中 tree etree.parse test.html r tree.xpath html body div ...
xpath解析基礎
xpath解析 最常用且最便捷高校的一種解析方式。通用性。xpath解析原理 1.例項化乙個etree的物件,且需要將被解析的頁面原始碼資料載入到該物件中。2.呼叫etree物件中的xpath方法結合著xpath表示式實現標籤的定位和內容的捕獲。環境的安裝 pip install lxml 如何例項...