2010-04-25 20 views
5

Quiero raspar el html generado por javascript, al igual que lo que se puede ver en Firebug.cómo raspar html generado por javascript usando python?

ACTUALIZACIÓN: he encontrado este artículo: http://blog.motane.lu/2009/07/07/downloading-a-pages-content-with-python-and-webkit/ que utilizan PyQt para resolver el problema y funciona bien para mí.

Sin embargo, otro problema ocurra: Tengo que iniciar sesión en el sitio web en primer lugar, pero no saben cómo simular inicio de sesión en PyQt .... :(

Respuesta

5

Tenga una mirada en this article que describe el uso de Windmill hacer raspe una página después de que Javascript haya sido ejecutado por el navegador.

Este artículo le mostrará cómo extraer la información deseada usando los mismos tres pasos cuando la página web no se escribe directamente usando HTML, sino que se genera automáticamente usando JavaScript para actualizar el árbol DOM.

Tienen algunos ejemplos que estoy seguro que puedes adaptar fácilmente.

+0

He visto este artículo ayer. Pero parece que el usuario tiene que abrir un navegador web para raspar la página, y eso no es lo que quiero ... Gracias de todos modos. – wong2

+1

Es posible (no es fácil pero posible) ejecutar, por ejemplo, Firefox en un modo sin cabeza. –

0

Para ser precisos con la terminología, Javascript no genera HTML. Javascript genera y manipula el DOM en su navegador. Firebug te muestra la representación HTML de ese DOM para que sea legible. El HTML no existe en realidad. :)

No creo que exista una solución fácil de usar. Es posible que desee mirar this blog post and comments que tienen algunos punteros.

Cuestiones relacionadas