1
爲了教育目的,我試圖在Python中使用lxml和請求來掃描this page。Python lxml xpath無輸出
具體而言,我只是想打印頁面上所有教授的研究領域。 這是我迄今爲止所做的
import requests
from lxml import html
response=requests.get('http://cse.iitkgp.ac.in/index.php?secret=d2RkOUgybWlNZzJwQXdLc28wNzh6UT09')
parsed_body=html.fromstring(response.content)
for row in parsed_body.xpath('//div[@id="maincontent"]//tr[position() mod 2 = 1]'):
for column in row.xpath('//td[@class="fcardcls"]/tr[2]/td/font/text()'):
print column.strip()
但它不打印任何東西。我用xpaths掙扎了很多,並且在chrome中主要使用了copy xpath功能。我遵循以下SO問題/答案的內容,並清理了我的代碼,並在xpaths中清除了'tbody'。代碼仍然返回空白。
您的代碼完美工作,我明白你寫的是什麼,謝謝。 現在,我有幾個問題: 1.你是如何找出主要內容頁面,即[這一個](http://cse.iitkgp.ac.in/faculty4.php?_=1450503917634) 2.在我的代碼中,我寫的xpath中有什麼錯誤?當我檢查鉻的「檢查」時,他們指出了正確的元素(研究領域)。 – humblenoob
@humblenoob好吧,當然 - 1.我剛剛使用了瀏覽器開發工具,並檢查了頁面加載期間發送的請求; 2.你的代碼總體上是在正確的軌道上 - 至少有一點是,內部xpath表達式必須以一個點開始,以特定於上下文。希望答案有幫助。 – alecxe