2017-12-27 4 views
1

Ich versuche, Daten aus Wikipedia in Python mit Xpath anzufordern. Ich bekomme eine leere Liste. Was mache ich falsch.Xpath in Python keine Daten

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 

Antwort

2

Dies ist ein sehr häufiger Fehler, wenn die xpath vom Browser und die table-Tags zu erhalten versuchen, wie der Browser in ihnen derjenige, der normalerweise fügt die tbody-Tag ist, die im Inneren tatsächlich nicht existieren der Antwortkörper.

es So entfernen Sie einfach und es sollte wie:

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

Awsome, die dank gearbeitet, was ist so etwas wie dieses https://bittrex.com/Market/Index?MarketName=btc-nxt. Ich versuche, die Xpath-Daten für den Preis in Dollars zu bekommen // * [@ id = "rowChart"]/div [2]/div/div [2]/div/div [2]/span/text(). Aber es gibt mir auch einen leeren Wert –

+0

@TarikKoric das ist eine völlig andere Frage und eine völlig andere Sache, zuerst ist es durch Cloudflare geschützt, so dass jede Art von Daten von dieser Website wird extrem schwierig sein und sieht auch aus wie die gesamte Website generiert wird dynamisch mit Javascript, so dass eine normale Anfrage nicht funktioniert. – eLRuLL

+0

Ok danke für die Klarstellung –