web-dev-qa-db-ja.com

指定した時間にWebサイトのスクリーンショットを自動的に撮るにはどうすればよいですか?

指定した時間にウェブサイトのスクリーンショットを自動的に撮る必要があります。指定された時間にオンになることが保証されていないため、理想的にはコンピューターを使用していません。

これを行うWebサービスはありますか?または、それを実行するためのスクリプトを設定できる(無料の)ホスティングサイト(PHPが思い浮かびます)?私は同様に使用できるジェイルブレイクされたiPhoneを持っています(ジェイルブレイク=私はルートアクセス権を持っており、おそらくいくつかのcron魔法を行うことができます)。

5
SBSTN

あなたは見ることができます スクリーンショットを作る方法を説明するこのブログエントリ

ご覧のとおり、スクリーンショットを取得するphpスクリプトがあります。

<?php

// save this snippet as url_to_png.php
// usage: php url_to_png.php http://example.com
if (!isset($argv[1])){
    die("specify site: e.g. http://example.com\n");
}

$md5 = md5($argv[1]);
$command = "wkhtmltopdf $argv[1] $md5.pdf";
exec($command, $output, $ret);
if ($ret) {
    echo "error fetching screen dump\n";
    die;
}

$command = "convert $md5.pdf -append $md5.png";
exec($command, $output, $ret);
if ($ret){
    echo "Error converting\n";
    die;
}

echo "Conversion compleated: $argv[1] converted to $md5.png\n"; 

ただし、 imagemagick および wkhtmltopdf が必要です。

Sudo aptitude install imagemagick wkhtmltopdf

このスクリプトを使用してフォルダーに保存するcronジョブをセットアップするのに、それほど想像力は必要ありません。

2
dennis

http://browsershots.org でセッションを開始できます。 cronjobの使い方を知っていれば、いつでも開始できると思います。

2
buba

Webcaptureを使用できます。 webkitとQtを使用した簡単なスクリプト。

http://labs.trolltech.com/blogs/2009/01/15/capturing-web-pages/

2
Natim

Wimg.ca を使用できます。ここに があります。

1
Babuss

数ヶ月前、私は似たようなことをしなければならず、3つの小さなプログラムを見つけました。

Windowsでは、 IEcapt というオープンソースツールを使用できます。

コマンドラインからの使用法:

iecapt --url=http://www.google.com/ --out=localfile.png

Linuxでは、 html2jpg または Webthumb を使用できます。

私はIEcaptを使用し、うまく機能しました。

1

新しいサービスをコーディングするのではなく、既存のサービスを使用することを強くお勧めします。私は使用します http://www.websnaps.co

優れた画面キャプチャサービスを提供し、自動キャプチャスケジュールを設定することもできます。また、スクリーンショットをピン留めして、簡単にピンタレストすることもできます。

0
Rohan

firefox用のiMacrosを使用して、フルページのWebブラウザのスクリーンショットを撮ることができます: http://wiki.imacros.net/Browser_Automation#Web_Site_Screenshot

タスクスケジューラとコマンドラインから起動します: http://wiki.imacros.net/iMacros_for_Firefox#Command_Line_Support

0
FredT

私は以前に GrabzIt をこの種のジョブに使用しましたが、これらは簡単に使用できるPHPライブラリを提供します。これを使用するには、次の行に沿って何かを行う必要があります。

include("GrabzItClient.class.php");
$grabzIt = new GrabzItClient();
$id = $grabzIt->TakePicture("http://www.google.com");

//wait a certain amount of time and retrieve the screenshot

$result = $grabzIt->GetPicture($id); 

if (!$result){ return;}
file_put_contents("images/test.jpg", $result);
0
user1474090

Webcron + Browshot のようなスクリーンショットサービスと PHPライブラリ を試すことができます。また、スクリーンショットをどこかで同じ/アップロードする必要があります。たとえば、S3です。

0
Julien

この記事 Webサイトサムネイルクリエーター(Webサイトスナップショットジェネレーター) この目標を達成するためのいくつかの方法について説明します。たとえば、次のことを指します。

無料PHPスクリプト::ウェブサイトサムネイルジェネレータ

ウェブサイトサムネイルジェネレーターを使用して、ニーズに合ったウェブサイトサムネイルを作成したり、独自のウェブサイトサムネイル生成サービスを開始したりできます。

要件:

  • Windowsホスティング
  • PHP Gdライブラリ(ほとんどのホスティングにインストールされています)
  • サードパーティアプリケーション(つまり、exeファイル)を実行するためのアクセス許可
  • InternetExplorerを実行するためのアクセス許可

仕組み:

  • Website Thumbnail Generatorは、キャッシュにWebサイトの画像が既にあるかどうかを確認し、ブラウザーに表示します。
  • キャッシュされたイメージがない場合、IECaptはスクリプトから実行されます。
  • IECaptはInternetExplorerを実行し、フルサイズのWebサイトのスクリーンショットを取得します
    そこから、画像をに保存します
    スクリプトで指定したフォルダー
    設定。
  • 次に、Website Thumbnail Generatorは画像のサイズを変更し、
    ブラウザ。
0
harrymc