2014年09月12日
Home > テクノロジー > PHP で Web サイトのスクリーンショットを取得する
PHP で Web サイトのスクリーンショットを取得する
By: HARRY NGUYEN

PHP で Web サイトのスクリーンショットを取得する


ここでは、 Snappy を使って Web サイトのスクリーンショットを取得する PHP スクリプトを作成する方法について説明します。 Snappy は、「Web サイトのスクリーンショットをコマンドラインから撮影する」で紹介した wkhtmltoimage を PHP から利用するためのライブラリです。詳しくは下記の Web サイトを参照してください。

KnpLabs/snappy · GitHub

Snappy のダウンロードと設置

Snappy をダウンロードし、 /usr/local へ設置します。

[user@localhost ~]$ wget https://github.com/KnpLabs/snappy/archive/0.1.2.tar.gz -O snappy-0.1.2.tar.gz
[user@localhost ~]$ cd /usr/local
[user@localhost ~]$ tar xzf /home/user/snappy-0.1.2.tar.gz

PHP スクリプトの作成

下記のプログラムを /var/www/html/thumbnail.php として用意します。 9行目は wkhtmltoimage の実行ファイルを指定します。

<?php

require_once '/usr/local/snappy-0.1.2/src/autoload.php';

use Knp\Snappy\Image;

if (isset($_GET['url']) && $_GET['url'] !== '') : $url = $_GET['url']; else : die('Incorrect data entered.'); endif;

$snappy = new Image('/usr/local/bin/wkhtmltoimage-amd64');

header("Content-Type: image/jpeg");
echo $snappy->getOutput($url);

?>

ブラウザからアクセスしてスクリーンショットを表示する

前項で用意した thumbnail.php は url という引数に指定した URL のスクリーンショットを取得するようになっているので、例えば Google のスクリーンショットを取得するには、ブラウザで http://localhost/thumbnail.php?url=http://www.google.co.jp/ へアクセスしてみましょう。下記のように表示されるはずです。

Google のスクリーンショット

Google のスクリーンショット

山田 祥寛(翔泳社)
¥ 3,456
小川 雄大(技術評論社)
¥ 3,888

コメントをどうぞ

メールアドレスが公開されることはありません。* が付いている欄は必須項目です。

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre prompt="" escaped="">

このページのトップへ