script horizontal ejemplos datasets chartjs chart bar javascript python html

horizontal - Biblioteca de Python para renderizar HTML y Javascript



labels chart js (2)

La gran complicación aquí es emular el entorno completo del navegador fuera de un navegador. Puede utilizar intérpretes independientes de javascript como Rhino y SpiderMonkey para ejecutar código JavaScript, pero no proporcionan un entorno completo como el navegador para renderizar una página web completa.

Si tuviera que resolver un problema como este, primero vería cómo el javascript está representando la página, es muy posible que busque datos a través de AJAX y los utilice para representar la página. Podría usar bibliotecas de Python como simplejson y httplib2 para obtener directamente los datos y usarlos, anulando la necesidad de acceder al objeto DOM. Sin embargo, esa es solo una posible situación, no sé el problema exacto que estás resolviendo.

Otras opciones incluyen el selenio mencionado por Ɓukasz, algún tipo de locura web embebida, algún tipo de locura de script de IE win32 o, finalmente, una solución basada en pyxpcom (con locura añadida). Todos estos tienen el inconveniente de requerir un navegador web completamente en funcionamiento para que Python pueda jugar, lo que puede no ser una opción dependiendo de su entorno.

¿Hay algún módulo de python para renderizar una página HTML con javascript y recuperar un objeto DOM?

Quiero analizar una página que genera casi todo su contenido mediante javascript.


Probablemente puedas usar python-webkit para eso. Requiere un glib running y GTK, pero eso es probablemente menos problemático que envolver las partes de webkit sin glib.

No sé si hace todo lo que necesita, pero supongo que debería intentarlo.