2017-12-27 1766 views
1

我試圖從python中使用xpath請求維基百科的數據。 我收到一個空的列表。我究竟做錯了什麼。python中的Xpath無法獲取數據

import requests 

from lxml import html 

pageContent=requests.get(
    'https://en.wikipedia.org/wiki/List_of_Olympic_medalists_in_judo' 
) 

tree = html.fromstring(pageContent.content) 

name = tree.xpath('//*[@id="mw-content-text"]/div/table[1]/tbody/tr[2]/td[2]/a[1]/text()') 

print name 

回答

2

這是當試圖獲得來自瀏覽器的xpathtable標籤,因爲瀏覽器是一個通常增加了他們的內部tbody標籤,這實際上不存在裏面很常見的錯誤響應主體。

所以只是將其刪除,它應該是這樣的:

'//*[@id="mw-content-text"]/div/table[1]//tr[2]/td[2]/a[1]/text()' 
+0

要命的是工作的感謝,那這樣的事情https://bittrex.com/Market/Index?MarketName=btc-nxt。我試圖以美元// * [@ id =「rowChart」]/div [2]/div/div [2]/div/div [2]/span/text()獲取價格的xpath數據。但它也給了我一個空值 –

+0

@TarikKoric這是一個完全不同的問題和完全不同的情況,首先是它受cloudflare保護,因此從該網站獲取任何類型的數據將非常困難,並且看起來像整個網站生成動態與JavaScript,所以一個正常的請求將無法正常工作。 – eLRuLL

+0

好的謝謝澄清 –