コマンドラインからWebページを画像として保存@CygwinやLinux

スクリプトでWebページを保存するにはwgetを使えば簡単に実現できますが、これはあくまでもhtmlファイルや画像ファイルをそのまま保存するだけです。

Webページの表示そのものを画像として保存するには、ブラウザで表示して画面キャプチャすればよいのですが、これはスクリプトではできません。そういうときはwkhtmltopdf というツールが便利。Webページの表示をPDFや画像として保存できます。

PDFで保存するときは、 wkhtmltopdfコマンド を、画像で保存する場合はwkhtmltoimageコマンドを使用します。

使い方は簡単で画像の場合は、

# wkhtmltoimage.exe http://www.google.co.jp/ google.jpg

で画像化できます。オプション–crop-h  –crop-wを使えば一部を切り出すこともできます。

# wkhtmltoimage.exe --crop-h 500 --crop-w 700 http://www.google.co.jp/ google.jpg

上記の例では左上を基準に高さ300ピクセル、幅700ピクセルで保存されます。

google.jpg

切り出しの始点は、–crop-x や–crop-y で変更可能です。

# wkhtmltoimage.exe --crop-h 300 --crop-w 700 --crop-x 100 --crop-y 100 http://www.google.co.jp/ google.jpg

JavaScriptも処理できますので、Google Mapなども切り出し可能です。しかし画像のロードが遅延すると完全なマップがとりだせません。そういうこときは、–javascript-delay や –load-error-handling オプションを使ってあげます。また、–widthで前提とするブラウザの画面の横幅を変更することも可能です。

# wkhtmltoimage.exe --width 1280 --javascript-delay 10000 --load-error-handling ignore ・・・・以下省略
タイトルとURLをコピーしました