- Selenium:soluzione molto completa con collegamenti in molte lingue
- puppeteer:API di Chrome headless, utilizzabile in NodeJS o come strumento da riga di comando
- HTtrack:strumento a riga di comando
- Apache Notch e webmagic:web crawler Java open source
- pholcus :web crawler "distribuito e ad alta concorrenza" scritto in Go
- Xvfb un server di visualizzazione che implementa il protocollo del server di visualizzazione X11, senza mostrare alcun output dello schermo. L'ho usato con successo con Travis CI e Goniometro come esempio. Alternativa:XDummy
PhantomJS (suggerito per la prima volta da nvuono):può esportare la pagina renderizzata come non HTML (pdf, png...).Lo sviluppo di PhantomJS è sospeso fino a nuovo avviso (maggiori dettagli). Strettamente correlati:SlimerJS, CasperJS
E ci sono molte librerie di web scraping Python:
- Raschiato
- pyspider
- ghost.py
- scheggia
Prova phantomjs da www.phantomjs.org e puoi facilmente modificare il rasterize.js incluso per esportare l'HTML renderizzato. È basato su webkit e fa una valutazione completa del javascript del tuo sito di destinazione, permettendoti di regolare i timeout o eseguire prima il tuo codice, se lo desideri. Lo uso personalmente per salvare la versione cartacea del file HTML dei modelli knockout.js completamente renderizzati.
Esegue javascript quindi ho appena fatto qualcosa di simile e ho salvato l'output della console in un file:
var markup = page.evaluate(function(){return document.documentElement.innerHTML;});
console.log(markup);
phantom.exit();