在Python爬蟲中,XPath常用于解析HTML和XML文檔,用于定位和抽取特定的內(nèi)容。以下是一個簡單的應用案例:
假設我們要爬取一個網(wǎng)頁上的書籍信息,包括書名和價格。首先,我們需要使用requests庫來獲取網(wǎng)頁的HTML內(nèi)容,然后使用lxml庫中的etree模塊來解析HTML。
import requests
from lxml import etree
url = 'http://example.com/books'
response = requests.get(url)
html = response.text
# 使用etree.HTML()方法將HTML文本轉(zhuǎn)換為Element對象
tree = etree.HTML(html)
# 使用XPath定位書名和價格的元素
book_names = tree.xpath('//div[@class="book"]/h2/text()')
prices = tree.xpath('//div[@class="book"]/span/text()')
# 打印書名和價格
for i in range(len(book_names)):
print('書名:', book_names[i])
print('價格:', prices[i])
在上面的示例中,我們首先發(fā)送了一個GET請求獲取了網(wǎng)頁的HTML內(nèi)容,然后使用etree.HTML()方法將HTML文本轉(zhuǎn)換為Element對象。接著,我們使用XPath定位了書名和價格的元素,然后循環(huán)遍歷打印出每本書的書名和價格。
這只是一個簡單的應用案例,XPath在Python爬蟲中還有很多其他的應用場景,例如定位特定的鏈接、抽取表格數(shù)據(jù)等。XPath是Python爬蟲中非常強大的工具,可以幫助我們快速有效地抽取網(wǎng)頁中的數(shù)據(jù)。