webentwicklung-frage-antwort-db.com.de

Headless Browser für Python (Javascript-Unterstützung ERFORDERLICH!)

Ich benötige einen kopflosen Browser, der ziemlich einfach zu bedienen ist (ich bin noch ziemlich neu in Python und Programmierung im Allgemeinen)), mit dem ich zu einer Seite navigieren und mich in ein Formular einloggen kann, das Javascript erfordert Klicken Sie auf die Kontrollkästchen, und klicken Sie auf, um Dateien herunterzuladen, und durchsuchen Sie dann die resultierende Webseite, indem Sie nach Ergebnissen suchen, die bestimmten Kriterien entsprechen.

Ich habe gehört, dass ein kopfloser Browser das ist, was ich möchte. Voraussetzungen/Voreinstellungen sind, dass ich ihn in Python ausführen kann und dass das resultierende Skript vorzugsweise von py2exe kompiliert werden kann (ich schreibe dieses Programm für andere Benutzer).

Bisher sieht es so aus, als ob Windmill das sein könnte, was ich will, aber ich bin mir nicht sicher.

Irgendwelche Ideen geschätzt!

52
Cecil Rodriguez

Die Antwort auf diese Frage war Spynner

11
Cecil Rodriguez

Ich benutze das Webkit als headless Browser in Python via pyqt/pyside:
http://www.riverbankcomputing.co.uk/software/pyqt/download
http://developer.qt.nokia.com/wiki/Category:LanguageBindings::PySide::Downloads

Ich mag Webkit besonders, weil es einfach einzurichten ist. Für Ubuntu benutzt du einfach: Sudo apt-get install python-qt4

Hier ist ein Beispielskript:
http://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/

29
hoju

Ich bin gerade dabei, einen Python Treiber für Zombie.js zu schreiben, "ein leichtes Framework zum Testen von clientseitigem JavaScript-Code in einer simulierten Umgebung".

Ich bin derzeit im Stillstand, um einen Fehler in Node.js zu beheben (bevor ich mehr Tests und Code schreibe), kann aber mein Projekt jederzeit im Auge behalten:

https://github.com/ryanpetrello/python-zombie

9
RyanTheDev

Es gibt noch nicht zu viele Headless-Browser, die Javascript unterstützen.

Sie könnten versuchen Zombie.js oder Phantomjs . Das ist nicht Python, sondern einfaches Javascript, und die können es wirklich.

5
Epeli

Versuchen Sie es mit Phantomjs, es hat großartige Javascript-Unterstützung. Dann können Sie es als Unterprozess eines python script ausführen

http://docs.python.org/library/subprocess.html

das könnte es herumkommandieren.

3
shelman

Sie können HTQL in Kombination mit IRobotSoft Webscraper verwenden. Hier finden Sie Beispiele: http://htql.net/

1
seagulf