爬蟲 xpath 匹配

2021-09-04 15:14:23 字數 2286 閱讀 9417

/ 從根標籤開始 必須具有嚴格的父子關係

// 從當前標籤 後續節點含有即可選出

import lxml.html

test_data = """

111111

29.99

222222

39.95

33333

40

123

""""""* 萬用字元,選擇所有

//div/book[1]/title 選擇div下第乙個book標籤的title元素

//div/book/title[@lang="zh"]選擇title屬性含有lang且內容是zh的title元素

//div/book/title //book/title //title //div//title 具有相同的結果,因為使用相對路徑最終都指向title

//book/title/@* 將title所有的屬性值選擇出來

//book/title/text() 將title的內容選擇出來,使用內建text()函式

//a[@href="link1.html" and @id="places_neighbours__row"]

//a[@href="link1.html" or @id="places_neighbours__row"]

//div/book[last()]/title/text() 將最後乙個book元素選出

//div/book[price > 39]/title 將book子標籤price數值大於39的選擇出來

//li[starts-with(@class,'item')] 將class屬性字首是item的li標籤選出

//title[contains(@lang,'eng')] 將title屬性lang含有eng關鍵字的標籤選出

"""html = lxml.html.fromstring(test_data)

#html_data = html.xpath('//div/book/title/text()')

#html_data = html.xpath('//div/book[1]/title/text()')

#html_data = html.xpath('//div/book/title[@lang="zh"]/text()')

#html_data = html.xpath('//div/book/title/text()')

# html_data = html.xpath('//book/title/text()')

# html_data = html.xpath('//title/text()')

# html_data = html.xpath('//div//title/text()')

# html_data = html.xpath('//book/title/@*')

# html_data = html.xpath('//a[@href="link1.html" and @id="places_neighbours__row"]/text()')

#html_data = html.xpath('//a[@href="link2.html"]/text()')

# html_data = html.xpath('//div/ul/li/a[@id]/text()')

# html_data = html.xpath('//a[@href="link1.html" and @id="places_neighbours__row"]/@*')

# html_data = html.xpath('//a[@href="link1.html" and @id="places_neighbours__row"]/@href')

# html_data = html.xpath('//a[@href="link1.html" or @id="places_neighbours__row"]/text()')

# html_data = html.xpath('//div/book[last()]/title/text()')

#html_data = html.xpath('//div/book[price > 39]/title/text()')

# html_data = html.xpath('//li[starts-with(@class,"item")]/a/text()')

html_data = html.xpath('//title[contains(@lang,"eng")]/text()')

for i in html_data:

print(i)

xpath 爬蟲利器

用xpath的爬取網頁內容的初步了解 xpath提取文字內容 text 提取屬性內容 coding utf 8 author zjp from lxml import etree import requests url response1 requests.get url 獲取網頁響應 select...

爬蟲入門 XPATH

識別符號 作用節點名 獲取節點的所有子節點 獲取屬性 從根節點獲取 從匹配選擇的當前節點擊擇文件中的節點,而不考慮它們的位置 獲取當前節點 獲取當前節點的父節點 可以通過組合使用縮小搜尋的範圍 以下面的為例子 元素 標籤 strong div標籤中的 class cover wp 標籤中間的內容 8...

爬蟲 xpath語法

使用 獲取整個頁面當中的元素,然後寫標籤名,然後再寫謂詞進行提取。比如 div class abc 和 的區別 代表只獲取直接子節點。獲取子孫節點。一般 用得比較多。當然也要視情況而定。contains 有時候某個屬性中包含了多個值,那麼可以使用contains函式。示例 如下 div contai...