- Selen:sehr komplette Lösung mit Bindungen in vielen Sprachen
- puppeteer :Headless Chrome API, nutzbar in NodeJS oder als Kommandozeilen-Tool
- HTtrack :Befehlszeilentool
- Apache Notch &Webmagic:Open-Source-Java-Web-Crawler
- Pholcus :„verteilter und hochgradig paralleler“ Web-Crawler, geschrieben in Go
- Xvfb ist ein Anzeigeserver, der das X11-Anzeigeserverprotokoll implementiert, ohne eine Bildschirmausgabe anzuzeigen. Ich habe es erfolgreich mit Travis CI und Protractor als Beispiel verwendet. Alternative:XDummy
PhantomJS (zuerst von nvuono vorgeschlagen):kann die gerenderte Seite als Nicht-HTML (pdf, png...) exportieren.PhantomJS-Entwicklung ist bis auf Weiteres ausgesetzt (weitere Details). Eng verwandt:SlimerJS, CasperJS
Und es gibt viele Python-Web-Scraping-Bibliotheken:
- Scheiße
- Pyspinne
- ghost.py
- Splitter
Probieren Sie phantomjs von www.phantomjs.org aus und Sie können die enthaltene rasterize.js einfach ändern, um das gerenderte HTML zu exportieren. Es basiert auf Webkit und wertet das Javascript Ihrer Zielseite vollständig aus, sodass Sie Zeitüberschreitungen anpassen oder Ihren eigenen Code zuerst ausführen können, wenn Sie dies wünschen. Ich persönlich verwende es, um eine Hardcopy-HTML-Dateiversion von vollständig gerenderten Knockout.js-Vorlagen zu speichern.
Es führt Javascript aus, also habe ich so etwas gemacht und die Konsolenausgabe in einer Datei gespeichert:
var markup = page.evaluate(function(){return document.documentElement.innerHTML;});
console.log(markup);
phantom.exit();