- Selenium :多くの言語のバインディングを備えた非常に完全なソリューション
- puppeteer :ヘッドレス Chrome API、NodeJS またはコマンドライン ツールとして使用可能
- HTtrack :コマンドライン ツール
- Apache Notch と webmagic :オープン ソースの Java Web クローラー
- pholcus :Go で記述された「分散型で同時実行性の高い」Web クローラー
- Xvfb X11 ディスプレイ サーバー プロトコルを実装するディスプレイ サーバー。画面出力は表示されません。例として、Travis CI と分度器でうまく使用しました。代替案:XDummy
PhantomJS (nvuono によって最初に提案された):レンダリングされたページを非 HTML (pdf、png...) としてエクスポートできます。PhantomJS の開発は、追って通知があるまで中断されます (詳細)。 密接に関連:SlimerJS、CasperJS
また、多くの Python Web スクレイピング ライブラリがあります:
- スクレイピー
- ピスパイダー
- ghost.py
- 破片
www.phantomjs.org から phantomjs を試してみてください。含まれている rasterize.js を簡単に変更して、レンダリングされた HTML をエクスポートできます。これは webkit に基づいており、ターゲット サイトの JavaScript を完全に評価し、必要に応じてタイムアウトを調整したり、独自のコードを最初に実行したりできます。私は個人的に、完全にレンダリングされた knockout.js テンプレートのハードコピー HTML ファイル バージョンを保存するために使用しています。
JavaScript を実行するので、次のようにして、コンソール出力をファイルに保存しました:
var markup = page.evaluate(function(){return document.documentElement.innerHTML;});
console.log(markup);
phantom.exit();