Es sieht aus, dass die Website, die Sie versuchen zu verschrotten, nicht verschrottet werden soll. Sie verwenden verschiedene Techniken, um zu erkennen, ob eine Anfrage von einem legitimen Benutzer oder von Bot- und Block-Zugriffen kommt, wenn sie denken, dass sie von einem Bot stammt. Das ist der Grund, warum dein XPath nichts findet und deshalb solltest du das, was du tust, überdenken.
Wenn Sie sich entscheiden, dass Sie fortfahren möchten, dann scheint die einfachste Art, diese spezielle Website zu täuschen, das Hinzufügen von Cookies zu Ihren Anfragen.
Zuerst Cookie-String Sie echte Browser erhalten:
- Neue Registerkarte öffnen
- öffnen Entwickler-Tools
- Gehen Sie zu Registerkarte "Netzwerk" in Entwickler-Tools
- Wenn die Netzwerk-Registerkarte leer ist, Seite aktualisieren
- Suchen Sie nach
heel-nederland/
und klicken Sie darauf
- In Request Header finden Sie Cookie-Zeichenfolge - es ist ziemlich lang und enthält viele scheinbar zufällige Zeichen. Kopieren es
Ändern Sie dann Ihr Programm diese Cookies verwenden:
import requests
from lxml import html
webpage = 'http://www.funda.nl/koop/heel-nederland/'
headers = {
'Cookie': '<string copied from browser>'
}
page = requests.get(webpage, headers=headers)
tree = html.fromstring(page.content)
selector = '//*[@id="content"]/form/div[2]/div[5]/div/a[8]/text()'
content = str(tree.xpath(selector))
print content