Also ich bin ein CS-Student versucht, Web-Scraping und alle Do und Dont's, die damit einhergehen zu lernen. Nachdem ich mich mit iMacros und ein paar anderen Datenschürf-Tools beschäftigt hatte, wandte ich mich an Python, eine Sprache, mit der ich damals nicht vertraut war. Ich habe etwas über BeautifulSoup und Urllib2 gelernt und mir den Weg durch stackoverflow und ein paar andere Foren verschafft.Scraping Daten, kopflose Browser und Python
Jetzt, mit dem Wissen, das ich bisher gewonnen habe, kann ich die meisten statischen Webseiten schaben. Wir alle wissen jedoch, dass die Ära der statischen Seiten vorbei ist, da JS jetzt sogar auf mittelmäßigen Websites vorherrscht.
Ich möchte, dass jemand mich bitte in die richtige Richtung hier führt. Ich möchte eine Methode lernen, um Javascript geladene Webseiten zu laden, den gesamten Inhalt zu laden und diese Daten irgendwie in die BeautifulSoup-Funktion zu bekommen. Urllib2 ist nervtötend. Ich möchte auch die Fähigkeit, Formulare auszufüllen und durch Knopfklicks zu navigieren.
Meistens bestehen die Webseiten, an denen ich interessiert bin, aus einer langen Liste von Ergebnissen, die beim Herunterscrollen geladen werden. Laden sie alle und dann das Herunterladen der Seite scheint nicht zu helfen (nicht wissen, warum das ist). Ich verwende Windows 7 und habe Python 2.7.5 installiert.
Mir wurde gesagt, dass kopflose Browser wie Zombie oder Ghost mir helfen würden, aber ich weiß wirklich nicht viel über diese. Ich habe versucht, Bibliotheken wie Mechanize verwenden, aber sie nicht wirklich für das, was ich brauche, d. H, Laden der Ergebnisse, Holen der Webseite und Einspeisung in BS4.
In Anbetracht meiner minimalen Kenntnisse von Python, könnte mir hier jemand helfen?
Dank
Das Javascript wird wahrscheinlich Ressourcen von einem externen JSON/XML/PHP Server abrufen. Verwenden Sie die Firebug- oder Chrome-Entwicklertools, um diese Quelle herauszufinden und dann von dort zu scraphen. –
Ich denke, Sie haben Recht, aber ich hatte gehofft von mehr einer generischen Lösung für das Problem, mit kopflosen Browsern oder dergleichen –
Ich weiß es nicht, sorry :( –