firefox webkit screen-scraping headless-browser

Headless, scriptable Firefox/Webkit en Linux?



firefox headless screenshot (7)

¿Has probado el Selenium ? Te permitirá grabar un escenario de uso, usando una extensión para Firefox, que luego se puede reproducir usando varios métodos diferentes.

Editar: Me di cuenta de que esta era una respuesta muy tardía. :)

Estoy buscando automatizar algunas interacciones web, es decir, la descarga periódica de archivos desde un sitio web seguro. Esto básicamente implica ingresar mi nombre de usuario / contraseña y navegar a la URL apropiada.

Probé con scripts simples en Python, seguidos de scripts más sofisticados, solo para descubrir que este sitio web en particular usa algún desagradable mecanismo basado en javascript y flash para iniciar sesión, haciendo que mis métodos sean inútiles.

Luego probé HTMLUnit, pero eso tampoco parece querer funcionar. Sospecho que el uso de Flash es el problema.

Realmente no quiero pensar más en eso, así que me inclino por escribir un navegador para iniciar sesión y tomar el archivo que necesito.

Los requisitos son:

  • Ejecutar en el servidor de Linux (es decir, no se ejecuta X). Si realmente necesito tener X, puedo lograrlo, pero no seré feliz.
  • Ser confiable. Quiero comenzar esto y nunca pensar en eso otra vez.
  • Sé guionizable Nada demasiado sofisticado, pero debería ser capaz de decirle al navegador los diversos pasos a seguir y las páginas para visitar.

¿Hay algún buen kit de herramientas para un navegador sin encabezado y sin secuencias de comandos X? ¿Has probado algo como esto y si es así tienes alguna palabra de sabiduría?



Hice una tarea relacionada con el navegador incrustado de IE (aunque era una aplicación gui con un panel de componentes del navegador oculto). En realidad, puede tomar cualquier motor de diseño y cortar la lógica de salida. La navegación se debe hacer disparando eventos tipo script.

Puedes usar Crowbar . Es la versión sin cabeza de firefox (motor Gecko). Convierte el navegador en un servidor RESTful que puede aceptar solicitudes ("buscar URL"). Por lo tanto, analizará html, lo representará como DOM, esperará la demora definida para todos los scripts realizados.

Funciona en Linux. Supongo que puede ampliarlo fácilmente para su objetivo usando JS y las habilidades ricas de XULrunner.



Para lograr esto, simplemente escribo extensiones de Chrome que se publican en CouchDBs (por example su Futon ). Agregue el sofá a los permisos en el manifiesto para permitir XHRs entre dominios.

(Llegué a este hilo en busca de una alternativa sin cabeza a lo que he estado haciendo; después de haber encontrado este hilo, probaré Crowbar en algún momento).

Además, teniendo en cuenta las extrañas características de este sitio web, no puedo evitar preguntarme si puede explotar algún agujero de seguridad para evitar Flash y Javascript.



Eche un vistazo a WebKitDriver . El proyecto incluye la implementación sin cabeza de WebKit.