Ich kratze eine Liste von Restaurants von einer Website (mit Erlaubnis) und ich habe ein Problem. Die HTML-Python-Scrabes von der Website unterscheiden sich von den HTML-Code im Quellcode. Weniger als die Hälfte der Restaurants auf ihrer Website sind in Python im HTML gefunden. Dies ist, was mein Code wie folgt aussieht:Wie kann ein gescrapter HTML-Code vom Quellcode abweichen?
import requests
from bs4 import BeautifulSoup
from tempfile import TemporaryFile
import xlwt
url = 'https://www.example.com'
r = requests.get(url)
data = BeautifulSoup(r.text)
soup = data.find_all('span',{'class':'restaurant_name'})
print soup
Jetzt weiß ich, es ist incovenient, aber ich kann die HTML nicht zeigen, da das Unternehmen mich nicht im Stich lässt. Ich frage mich nur, ob Sie im Allgemeinen wissen, wie das von Python heruntergeladene HTML von dem im Quellcode abweichen kann und was ich dagegen tun kann.
Vielen Dank im Voraus!
Welche anderen Verfahren vergleichen Sie dies? Sehen Sie sich den DOM Inspector Ihres Browsers an? Dies zeigt den * aktuellen Status * der Site an, nicht die ursprüngliche Quelle. Wenn die Website Daten über AJAX lädt, können diese beiden Dinge erheblich abweichen. – deceze
Haben Sie in Betracht gezogen, dass Javascript verwendet werden kann, um Restaurants dynamisch hinzuzufügen? –
Ja, ich schaue auf den Inspektor in meinem Browser! Ich wusste nicht, dass das einen Unterschied macht! Was kann ich tun, um den aktuellen Stand der Site herunterzuladen? – titusflex