53 votes

Navigateur sans tête pour Python (prise en charge de Javascript REQUISE!)

J'ai besoin d'un headless browser qui est assez facile à utiliser (je suis encore assez nouveau pour Python et la programmation en général) qui va me permettre de naviguer d'une page, connectez-vous en une forme qui nécessite l'activation de Javascript, et puis gratter la page web obtenue par la recherche pour des résultats qui correspondent à certains critères, en cliquant sur les cases à cocher et cliquer pour télécharger les fichiers. Tout cela nécessite l'activation de Javascript.

J'entends un headless browser est ce que je veux - besoins/préférences que je sois capable de l'exécuter à partir de Python, et, de préférence, que le script va être compilable par py2exe (je suis en train d'écrire ce programme pour d'autres utilisateurs).

Jusqu'à présent Moulin à vent dirait qu'il POURRAIT être ce que je veux, mais je ne suis pas sûr.

Toutes les idées apprécié!

29voto

hoju Points 7182

J'utilise webkit comme un navigateur sans en Python via pyqt / pyside:
http://www.riverbankcomputing.co.uk/software/pyqt/download
http://developer.qt.nokia.com/wiki/Category:LanguageBindings::PySide::Downloads

J'aime particulièrement webkit, car il est simple à installer. Pour Ubuntu, il suffit d'utiliser: sudo apt-get install python-qt4

Voici un exemple de script:
http://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/

11voto

Andrew Alexander Points 1901

La réponse à cette question était Spynner

9voto

RyanTheDev Points 471

Je suis en train d'écrire un pilote Python pour Zombie.js, "un cadre léger permettant de tester le code JavaScript côté client dans un environnement simulé".

Je suis actuellement à l'arrêt sur la résolution d'un bogue dans Node.js (avant d'écrire plus de tests et plus de code), mais n'hésitez pas à garder un œil sur mon projet au fur et à mesure de sa progression:

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

5voto

Epeli Points 5475

Il n'y a pas encore trop de navigateurs sans tête prenant en charge Javascript.

Vous pouvez essayer Zombie.js ou Phantomjs . Ce ne sont pas des fichiers Python, mais des scripts Javascript simples qui peuvent vraiment faire le travail.

3voto

shelman Points 2017

Essayez d’utiliser phantomjs, le javascript est excellent. Ensuite, vous pouvez l'exécuter en tant que sous-processus d'un script python

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

cela pourrait le contrôler.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X