Pregunta

Quiero cortar un sitio web que use JavaScript.

Hay mecanizar, El navegador web programático para Python. Sin embargo, (comprensiblemente) no interpreta a JavaScript. ¿Hay algún navegador programático para Python que lo haga? Si no, ¿hay alguna implementación de JavaScript en Python que podría usar para intentar crear una?

¿Fue útil?

Solución

Es posible que sea mejor usando una herramienta como Selenio Para automatizar el raspado con un navegador web, el JS se ejecuta y la página se produce como lo haría para un usuario real.

Otros consejos

los Pyv8 paquete bien envuelto El motor JavaScript V8 de Google para Python. Es particularmente agradable porque no solo puedes llamar desde Python al código JavaScript, sino que puede volver a llamar desde JavaScript a Python Code. Esto hace que sea bastante sencillo implementar los objetos habituales proporcionados por el navegador (es decir, todo en el espacio de nombres de JavaScript Global: "Window", "Document", etc.), lo que debería hacer si iba a hacer Una cosa emuladora de navegador Python con capacidad de JavaScript, posiblemente conectando esto con mecanizar.

Mi favorito es Pyphantomjs. Está escrito con Python y Pyqt4. Es completamente sin cabeza y puedes controlarlo por completo desde JavaScript.

Sin embargo, si está buscando ver la página, puede usar QWebView de Pyqt4 también.

También está Spynner "un módulo de navegador web programático con estado para Python con soporte JavaScript/AJAX basado en el marco QtWebkit": http://code.google.com/p/spynner/

También podrías intentar definir Pata de pollo La página se desencadena en las páginas en cuestión, ejecutando cualquier operación que desee en la página y guardando los resultados de la operación en un archivo local, y llamando a Firefox desde la línea de comando dentro de su programa, seguido de leer el archivo.

Le recomiendo que eche un vistazo a algunas de las opciones disponibles para usted en http://wiki.python.org/moin/webbrowserprogramming - Sorprendentemente, esto es una pregunta común (he encontrado tres en StackOverflow hoy, buscando las palabras "Python Browser" en Google). Si haces lo mismo, encontrarás las otras respuestas que di.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top