2017-12-27 1296 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

好的谢谢澄清 –