Gibt es neben SeleniumRC noch gute Tools, mit denen Webseiten einschließlich von JavaScript nachgemaltem Inhalt abgerufen werden können?

8

Ein großes Manko curlbesteht darin, dass immer mehr Webseiten ihren Hauptinhalt von einer JavaScript-AJAX-Antwort malen lassen, die nach der ersten HTTP-Antwort auftritt. curlgreift diesen nachgemalten Inhalt nie auf.

Um diese Arten von Webseiten von der Befehlszeile abzurufen, habe ich mich darauf beschränkt, Skripte in Ruby zu schreiben, die den SeleniumRC dazu bringen, eine Firefox-Instanz zu starten und nach Abschluss dieser AJAX-Aufrufe den Quell-HTML-Code zurückzugeben.

Es wäre viel besser, eine schlankere Befehlszeilenlösung für diese Art von Problem zu haben. Kennt jemand welche?

Dan
quelle
Niemand hat etwas anderes vorgeschlagen. Hat hier jemand Erfahrung mit der Automatisierung einiger Aufgaben in Webanwendungen mithilfe von Curl? , aber diese Frage bezog sich nicht speziell auf das Scraping von Javascript.
Gilles 'SO - hör auf böse zu sein'

Antworten:

2

Ich habe erst kürzlich angefangen, den WebDriver von Selenium 2 in Java zu verwenden. Es gibt einen Treiber namens HtmlUnitDriver, der JavaScript vollständig unterstützt, aber keinen tatsächlichen Browser startet.

Es ist keine leichte Lösung, aber es erledigt die Arbeit.

Ich habe den Code so konzipiert, dass er über die Befehlszeile ausgeführt und die Webdaten in Dateien gespeichert werden.

Michael Gantz
quelle
2

Hast du an Watir gedacht?

http://watir.com/

Wenn Sie das Paket hinzugefügt haben, können Sie es als eigenständige Datei oder irbzeilenweise nachher ausführen include 'watir-webdriver'. Ich habe festgestellt, dass es reaktionsschneller ist als selenium-webdriver, aber ohne die Testaufzeichnungs-GUI, um komplexe Testbedingungen zu ermitteln.

Rogue_Leader
quelle