Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

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

      2011/10/08

スクリプトで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 ・・・・以下省略

 - IT技術, プログラミング ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
設定とメールを任意のフォルダに移動@Thunderbird 2

長年使っていたBeckyからThunderbirdに移行を始めました。 Beck …

no image
gitで現在の変更を一時的に退避して他の修正をする

ソースコードにある目的をもって機能追加している際、機能とは関係ないバグを見つける …

no image
screenを起動するとウィンドウの幅が変わる@RHEL6

Windows上からsshログインしたRHEL6でscreenを使うと、ウィンド …

no image
管理共有(C$)の使用@Windows 7

Windows XPだと、ファイルの共有を設定しなくても、デフォルトでCドライブ …

no image
ApacheのNameVirtualHostのデフォルトサイト設定(含SSL)@CentOS 5

CentOS 5 のApacheで、名前ベースのバーチャルホストを構築してみた。 …

no image
nslookupでホスト名引けるのにpingに失敗する@Windows

自前のDNSサーバをたてて、ホストを登録してWindowsから登録したホストにp …

no image
JBossのHypersonicSQL(hsql)管理ツール起動方法

JBossには気軽に使用できるHSQLが組み込まれています。ちょっとしたDBを使 …

no image
CPU数を動的に変更する@CentOS 5.5

カーネルにパラメータ(maxcpus)を与えて、OSで使うCPU数を変更できるこ …

no image
Galaxy SでGPS制度が悪い@b-mobile U300

※いろいろやった結果のまとめは一番下です。 Galaxy Sを手に入れたので、b …

no image
KVMを使ってみる@CentOS 5.4

RHEL 5.4からKVMが使えるようになり、それに伴いCentOS 5.4でも …