Ich versuche, den Wert von einer Yahoo Finance-Seite zu analysieren. Ich habe Chrome das Element von Interesse (der aktuelle Kurs einer Aktie) und verwendet, um die XPath in diesem einfachen Skript zu inspizieren:Parsing Xml - aus durch einen Knoten
from lxml import html
import requests
page = requests.get('https://finance.yahoo.com/quote/VNQ?p=VNQ')
tree = html.fromstring(page.content)
print tree.xpath('//*[@id="quote-header-info"]/div[3]/div[1]/div/span[1]/text()')
Doch was ich erhalte, ist der Text Wert von dem nächsten span-Tag. Ich habe versucht, den Xpath, den Chrome mir gibt, zu ändern, um den vorherigen Textwert ohne Erfolg zu erhalten. Kann mir jemand sagen, wo ich falsch gelaufen bin?
Sind Sie _sure_ all diese hardcoded Indizes sind korrekt? –
Geben Sie das erwartete Ergebnis ein – RomanPerekhrest
Sie werden aus dem Chrome Copy Path ausgeschnitten und mit dem gewünschten Text markiert. Die zwei Dinge, die ich nicht verstehe, sind, warum es den Text, der wie der xpath zu sein scheint, zum Text des nächsten span-Tags gibt, anstatt zu dem hervorgehobenen. Und zweitens, angenommen, dass Chrome einen falschen xpath gibt, wie ändere ich es, um den richtigen zu erhalten (da es sehr nah ist). – ihf