web-dev-qa-db-ja.com

定期的にGoogleマップのスクリーンショットを作成する

バックグラウンド

カナダ西海岸へのパイプラインを建設すると、石油タンカーの数が増え、大規模な油流出の可能性が高まり、それによって環境災害が発生することを人々は懸念しています。

AIS Live Ships Map Webサイトは、Googleマップインターフェイスを使用してリアルタイムの海上交通の更新をキャプチャします。 AISデータフィード からデータを取得することは可能ですが、多くの場合、フィードは pay-for-use であるか、ライセンス制限があります。

問題

AIS Live Ships Webサイトは、ブラウザーにマップを表示します。

Google Maps Screenshot

上の地図は、問題の地域であるバンクーバー島の北の直線に焦点を合わせるために、その場所がインタラクティブに変更されています。

質問

30分ごとにマップをキャプチャし、ユーザーの介入も大きなメモリフットプリントもなしで、数年間実行できるサービスをどのように作成しますか?

アイデア#1

  1. 仮想マシンを作成します。
  2. 軽量ブラウザをインストールして実行します。
  3. シャッター を使用して、一定の間隔でキャプチャを取得します。

アイデア#2

Pythonの Ghost Webkit を使用して、キャプチャを自動化します。

ありがとうございました!

5
Dave Jarvis

Xvfb (X仮想フレームバッファー)の使用を検討することもできます。これには、仮想マシンを実行するよりも軽量であるだけでなく、かなりのVanillaソフトウェアパッケージにのみ依存するという利点があります。

Webで「xvfbスクリーンショット」を検索すると、これを行う方法に関するさまざまなリンクが表示されます。

2
jjlin

たぶん、どのように browsershots それをしたか見てください。

これは、Webサイトのスクリーンショットを作成できるWebサイトであり、オープンソースです。 ソース からいくつかの有用な情報を引き出すことができると思います。

0
Der Hochstapler