Extrahieren href URL mit Python-Requests
Möchte ich extrahieren Sie die URL aus einem xpath-mit den Anfragen Paket in python. Ich kann den text aber nichts, ich versuchen, gibt die URL ein. Kann mir jemand helfen?
ipdb> webpage.xpath(xpath_url + '/text()')
['Text of the URL']
ipdb> webpage.xpath(xpath_url + '/a()')
*** lxml.etree.XPathEvalError: Invalid expression
ipdb> webpage.xpath(xpath_url + '/href()')
*** lxml.etree.XPathEvalError: Invalid expression
ipdb> webpage.xpath(xpath_url + '/url()')
*** lxml.etree.XPathEvalError: Invalid expression
Ich dieses tutorial verwendet, um begonnen zu erhalten: http://docs.python-guide.org/en/latest/scenarios/scrape/
Es scheint, wie es sollte einfach sein, aber es kommt nichts ich während meiner Suche.
Danke.
- Können Sie den Wert xpath_url? In der ersten Zeile sieht es aus wie die xpath-richtig interpretiert wird, aber die folgenden xpath-Anweisungen können falsch sein.
- Dein Kommentar hat mir geholfen, zu realisieren, dass meine xpath-fertig mit "div/h2/a" und so hinzufügen, nur
/@href
als pro jeremija Antwort würde ausreichen. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht
webpage.xpath(xpath_url + '/@href')
?Hier ist der vollständige code:
Sollte das Ergebnis sein:
@href
funktioniert. Jetzt muss ich gehen und lernen, warum estext()
für text und@href
für die href.@
wird verwendet zum verweisen auf element-Attribute und dertext()
gibt den Inhalt des ausgewählten node(s).Würden Sie besser gedient mit BeautifulSoup:
Können Sie drucken, die Zeile hinzufügen, um Listen, etc. Zu Durchlaufen, verwenden Sie:
Anforderungen-HTML
mit den Vorteilen eines context-manager: