2007 . 04 . 17

Webページのスナップショットを撮る


前々回、紹介したWinSnapはWebページのスナップショットを撮るツールとしては、申し分ないソフトではありますが、例えば前回のエントリ―のようにリスト化された各ページのスナップショットがほしい場合、その都度個別にスナップショットを撮るのはいささか面倒な作業です。
そこで、このような作業を一括して行う方法を考えてみました。

まずはSimpleAPIWebSnaprのようなWebサービスを利用してスナップショット画像を取得しようと試みました。しかし、こういったサービスはすでに作成済みのWebサイトであれば直ちに画像取得できますが、そうでない場合には作成の順番待ちに回されることになり、すぐには取得することができません。また、画像のサイズや種類も当然そのWebサービス側で決められており、結局はすべてそこ任せということで、今回の作業のケースではあまり役に立たないことが分かりました。


そこで次にローカルで動作するプログラムをいくつか物色してみました。
その中で最もシンプルでいて、いろいろな面で活用できるツールがIECaptです。

IECaptはコマンドラインで動作するアプリで、使用方法はコマンドプロンプトから以下のようにタイプします。

"IECapt.exe" "サイトのURL" "ファイル名"

例)"C:\Program Files\IECapt\IECapt.exe" http://google.com "C:\Program Files\IECapt\google.png"

これでファイル名で指定したディレクトリに指定したファイル名で指定URLのスナップショット画像が出来上がります。


今回の課題は複数のWebページのスナップショットを作るということですが、その場合には上のコマンドをサイトの分だけ複数行記述したファイルを作ってやってバッチスクリプトとして実行すればいいだけです。

おそらく?(これドキュメントやヘルプの類が見当たらない)、このアプリ自体にリサイズなどの画像処理機能は備わってないので、サムネイルを作る場合には他のプログラムを使うことになりすが、コマンドオプションから操作できる画像ソフトを併用すれば、スクリプト内で作業を完結することもできます。

まぁ、複数のスナップショット作成まで自動でやってくれれば、あとは一括リサイズや調整は別にやってもそう面倒ではありません。


今回はローカルでの使用ということでしたが、CGIやPHPといったサーバーアプリへの活用範囲も大きいと思います。