web-dev-qa-db-ja.com

Webサイトのスクリーンショットを作成するコマンドラインプログラム(Linux)

LinuxでWebサイトのスクリーンショットを作成するのに適したコマンドラインツールとは何ですか?人間の介入なしでウェブサイトのスクリーンショットを自動的に生成する必要があります。私が見つけた唯一のツールは khtml2png でしたが、khtmlに基づいていない他のツールがあるのではないかと思います(つまり、JavaScriptサポートが優れているなど)。

62
ujh

もう少し詳細が役立つかもしれません...

コンソールまたはvncserverを使用して、Xセッションでfirefox(または他のブラウザー)を起動します。 --heightおよび--widthオプションを使用して、ウィンドウのサイズを全画面に設定できます。別のfirefoxコマンドを使用して、最初のfirefoxウィンドウに表示されるURLを設定できます。これで、Imagemagickパッケージの「import」コマンド、gimp、fbgrab、またはxvの使用など、いくつかのコマンドのいずれかで画面イメージを取得できます。

#!/bin/sh

# start a server with a specific DISPLAY
vncserver :11 -geometry 1024x768

# start firefox in this vnc session
firefox --display :11

# read URLs from a data file in a loop
count=1
while read url
do
    # send URL to the firefox session
    firefox --display :11 $url

    # take a picture after waiting a bit for the load to finish
    sleep 5
    import -window root image$count.jpg

    count=`expr $count + 1`
done < url_list.txt

# clean up when done
vncserver -kill :11
56
Shannon Nelson

Nice小さなツール CutyCapt を試してください。これはQtとQtWebkitにのみ依存しています。 ;)

37
m7n7

PhantomJS をご覧ください。これは、Linux、OSX、およびWindowsで実行される無料の書き込み可能なWebkitエンジンのようです。現在、 Browshot (商用ソリューション)を使用しているため、使用していませんが、すべてのクレジットがなくなると、真剣に戦利品を取得します(無料でサーバー上で実行できるため)

8
MaxiWheat

scrot は、スクリーンショットを撮るためのコマンドラインツールです。 manページ およびこの tutorial を参照してください。

また、ブラウザのスクリプトを見てください。 screengrab などのスクリーンショットを撮るFirefoxアドオンがあります(これは、表示されているビットだけでなく、必要に応じてページ全体をキャプチャできます)。次に、 greasemonkey を使用してブラウザのスクリプトを作成し、スクリーンショットを撮ります。

5
Hamish Downer

Webkit2png を参照してください。

これは私が過去に使用したものだと思います。

Edit上記は使用していませんが、多くの異なるプログラムとテクニックのレビューで このページ が見つかりました。

3
Luke H

私はコマンドラインツールではないことを知っていますが、使用するものを簡単にスクリプト化することができます http://browsershots.org/ 外部IPでホストされていないアプリケーションにはそれほど便利ではありません。

それでも素晴らしいツールです。

2
Paul Whelan

カスタムビルドされたものは何も知りませんが、画面の代わりにpngファイルにレンダリングするためにgeckoエンジンで何かを行うことができると確信しています...

または、専用のVNCサーバーインスタンスでフルスクリーンモードでfirefoxを起動し、スクリーンショットグラバーを使用してスクリーンショットを取得できます。フルスクリーン=最小限のクロム、VNCサーバーインスタンス=表示されないUI +解像度を選択できます。

これを行うには、XサーバーとしてXvncでxinitを使用します-すべてのマンページを読む必要があります。

欠点は、スクリーンショットが常に同じサイズであり、ウェブページに応じてサイズが変更されないことです...

1
Jim T

http://khtml2png.sourceforge.net/

Debファイル

libkonq4をインストールした後、私のUbuntuで働いた...しかし、他の依存関係をカバーする必要があるかもしれません。

Javascriptのサポートが改善されたと思います!

ステファン

1
Stephan Wehner

コマンドライン用ではなく、少なくとも大規模なURLセットのバッチ操作で使用する場合は、Firefoxのアドオンfireshot(ライセンス版?)を使用できます。

  1. セット内のすべてのURLのタブを開きます(例:「このフォルダー内のすべてのブックマークのタブを開く...」)。
  2. 次に、ファイアショットで「すべてのタブをキャプチャ」を起動します
  3. 編集ウィンドウで、「すべてのショットを選択->すべてのショットを保存」を呼び出します

ショットファイルの素敵なセットで終了する前に、スクリーンショットのプロパティ(サイズ、ファイル形式など)を設定します。

ステフェン

1
SLN

importコマンドがありますが、Xと、ブラウザウィンドウを開く小さなbashスクリプトが必要です。その後、スクリーンショットを撮り、ブラウザを閉じます。 。

より多くの情報を見つけることができます こちら 、または単にシェルでimport --helpと入力します;)

1
Andrea Ambu