- Selenium:solución muy completa con enlaces en muchos idiomas
- titiritero:API de Chrome sin cabeza, utilizable en NodeJS o como una herramienta de línea de comandos
- HTtrack:herramienta de línea de comandos
- Apache Notch y webmagic:rastreadores web Java de código abierto
- pholcus:rastreador web "distribuido y de alta concurrencia" escrito en Go
- Xvfb un servidor de visualización que implementa el protocolo de servidor de visualización X11, sin mostrar ningún resultado en pantalla. Lo he usado con éxito con Travis CI y Protractor como ejemplo. Alternativa:XDummy
PhantomJS (sugerido por primera vez por nvuono):puede exportar la página renderizada como no HTML (pdf, png...).El desarrollo de PhantomJS se suspende hasta nuevo aviso (más detalles). Muy relacionado:SlimerJS, CasperJS
Y hay muchas bibliotecas de web scraping de Python:
- Scrapy
- araña
- fantasma.py
- astilla
Pruebe phantomjs de www.phantomjs.org y podrá modificar fácilmente el rasterize.js incluido para exportar el HTML renderizado. Se basa en webkit y realiza una evaluación completa del javascript de su sitio de destino, lo que le permite ajustar los tiempos de espera o ejecutar su propio código primero si lo desea. Personalmente, lo uso para guardar la versión impresa del archivo HTML de las plantillas knockout.js completamente renderizadas.
Ejecuta javascript, así que hice algo como esto y guardé la salida de la consola en un archivo:
var markup = page.evaluate(function(){return document.documentElement.innerHTML;});
console.log(markup);
phantom.exit();