我目前正在研究一個沒有任何框架的webscraper,並且遇到了一個問題,我測試了一個xpath xpression,例如在維基百科頁面上獲取表數據。但是,當我刮並將其打印到控制檯時,它只會返回一個空列表。任何人都可以請指教?並可能會建議一些有用的書籍在xpath的webscraping? (我有safaribooks的幫助)用Python的路徑表達式創建列表
import requests
from lxml import html
page = requests.get('https://en.wikipedia.org/wiki/L.A.P.D._(band)')
tree = html.fromstring(page.content)
# OK
bandName = tree.xpath('//*[@id="firstHeading"]/text()')
overview = tree.xpath('//*[@id="mw-content-text"]/p[1]//text()')
print(bandName)
print(overview)
#Trouble Code
yearsActive = tree.xpath('//*[@id="mw-content-text"]/table[1]/tbody/tr[6]//text()')
print(yearsActive)
members = tree.xpath('//*[@id="mw-content-text"]/table[1]/tbody/tr[11]/td[1]/ul/li/a//text()')
print(members)
UPDATE:,同時進行更多的測試,我發現print(len(members))
回報爲零,這似乎預示着什麼不對我的XPath表達式,但測試我的會員在Chrome控制檯時的表情它返回樂隊成員列表。
是否有原因處理HTML而不是頁面的實際數據? –
我不確定如何「處理實際數據」。一般來說,我對使用xpath和拼音很陌生。你能解釋我如何處理實際數據? – user502301
** yearsActive **和**會員**僅爲空。你的意思是所有變量都是空的@ user502301 – wrufesh