- Selenium :solution très complète avec des liaisons dans de nombreuses langues
- puppeteer :API Chrome headless, utilisable en NodeJS ou en ligne de commande
- HTtrack :outil en ligne de commande
- Apache Notch &webmagic :robots d'exploration Java open source
- pholcus :robot d'indexation "distribué et à haute concurrence" écrit en Go
- Xvfb un serveur d'affichage implémentant le protocole de serveur d'affichage X11, sans afficher aucune sortie d'écran. Je l'ai utilisé avec succès avec Travis CI et Protractor à titre d'exemple. Alternative :XDummy
PhantomJS (d'abord suggéré par nvuono) :peut exporter la page rendue en non-HTML (pdf, png...).Le développement de PhantomJS est suspendu jusqu'à nouvel ordre (plus de détails). Étroitement lié :SlimerJS, CasperJS
Et il existe de nombreuses bibliothèques de grattage Web Python :
- Scrapy
- araignée
- fantôme.py
- éclat
Essayez phantomjs de www.phantomjs.org et vous pouvez facilement modifier le rasterize.js inclus pour exporter le HTML rendu. Il est basé sur webkit et effectue une évaluation complète du javascript de votre site cible, vous permettant d'ajuster les délais d'attente ou d'exécuter d'abord votre propre code si vous le souhaitez. Personnellement, je l'utilise pour enregistrer la version papier du fichier HTML des modèles knockout.js entièrement rendus.
Il exécute javascript donc j'ai juste fait quelque chose comme ça et enregistré la sortie de la console dans un fichier :
var markup = page.evaluate(function(){return document.documentElement.innerHTML;});
console.log(markup);
phantom.exit();