無料でサーバー側でウェブページのスクリーンショットを取得・生成する | ベンチャー企業 CIO: 池谷 義則ブログ&経営、ビジネス、プログラミング技術や便利なオープンソースの紹介

ベンチャー企業 CIO: 池谷 義則ブログ&経営、ビジネス、プログラミング技術や便利なオープンソースの紹介

SKYAVY, INC. CIOの池谷義則のブログ & ベンチャー企業 & 経営、ビジネス、プログラミング技術や便利なオープンソースの紹介

今回、運営している creww.me で、URLからサイトのスクリーンショット画像を自動取得するプログラムを作ったので、簡単ですが参考までに記述します。

PhantomJS http://phantomjs.org/ も有名どころで、過去に使っていたのですが、よくエラーが発生して、画像取得失敗が起こっていたので、今回は違うソフトで作り直しw

使ったソフトは http://wkhtmltopdf.org/ です。
このソフトは、HTMLからPDFや画像に書き出してくれる無料ツール。

インストール方法は、本家ウェブサイトを参考にお願いします。
んで、日本語サイトを画像化やPDF化する時は、動かすマシンに日本語フォントが入っていないと文字化けします。
なので、今回はウェブサーバー上に日本語フォント一式をインストールしておきます。

全てが整ったら、テストとして以下のコマンドを・・・
$ wkhtmltoimage --javascript-delay 1000 --width 600 --height 2000 http://yahoo.co.jp tmp.png

これで、http://yahoo.co.jp のtmp.png画像生成が完了。
オプションもろもろ設定できますが、コマンドで
$ wkhtmltopdf -H
で、参照できます。または本家の資料をご参照ください。
http://wkhtmltopdf.org/usage/wkhtmltopdf.txt

あとは、実際の運用に耐えるかどうか・・・
こればかりは試してみないとわからないので、実装してみます。
PhantomJSみたいにならないといいなぁ~

参考: http://wkhtmltopdf.org/