2009-08-10 15 views
9

ウェブ解析パッケージには、ページ内のユーザーのアクティビティに関する詳細情報が含まれており、ウェブページ上のオーバーレイ内での表示(クリック/スクロール/インタラクション)現在、これはページのライブレンダリングを含むIFrameです。レンダリングされたHTMLページのスクリーンショットの取得方法

ページが時間の経過とともに変化するため、古いデータはページの現在のレイアウトに対応しなくなります。私たちはスパイダーを実行して時々ページのスナップショットを撮って、ページのさまざまなバージョンとのやり取りの記録を維持できるようにしたいと考えています。

私たちはこれ(Linux)の実装を行っていますが、スナップショットプロセスはPython/JavaScript/HTMLハックでFirefoxウィンドウを開き、スクリーンショットを作成し、スクロールしてマージしてファイルに保存します。これは通常はヘッドレスサーバーにXスタックをインストールする必要があり、1ページに1分かかる。

一般的なWebブラウザのレンダリング時間に近いパフォーマンスのヘッドレス実装が望ましいですが、何も見つかりませんでした。

Mozillaソースを出発点として何かを構築する動きがありますが、これは私にとって過酷なように思えますし、最新のものを維持しようとするとメンテナンスの悪夢になるかもしれません。

提案?

+0

私はこのために[wkhtmltopdf(http://code.google.com/p/wkhtmltopdf/)を使用します。 Xサーバが必要ですが、Xvfbで十分です。したがって、技術的にヘッドレスです。 – jrockway

答えて

1

An article on Digital Inspiration点はであり、Webプラットフォームレンダリングエンジンと、現在のIEレンダリングエンジンを使用し、Windows、natchが必要なIECaptを使用しています。 FirefoxのレンダリングエンジンであるGeckoを使用している私の頭の上には何もありません。

しかし、あなたはXから離れることができるとは思えません。 CutyCaptはQtを必要とするため、XまたはWindowsインストールが必要です。そして、同様に、IECaptはWindowsが必要です(あるいは、Linuxで動かそうとするならWine、それからXが必要になります)。私はあなたがQt、Gtk、GDI、またはCocoaを必要としないレンダリングエンジンを見つけることができるとは思っていないので、ディスプレイライブラリをフルインストールする必要があります。

+0

これはXvfbで動作します。 – jrockway

+0

@jrockway:あなたの前例が何であるかは分かりませんが、その点を見逃している可能性があります。ここでの反対は、物理的な画面が必要であるという事実ではありませんが、端末サービスだけに使用されるマシン上のグラフィカルインタフェースをサポートする大量の追加ライブラリがインストールされています。 –

0

なぜ、クライアントに送信されるHTMLを保存しないのですか?それを使ってWebブラウザで再表示して、それがどのように見えるかを表示することができます。

あなたのWebanalyticsデータを使用してアクションを使用すると、コンボボックスやフィールドなどをクライアントが持っていた値にデフォルト設定したり、ボタンなどのCSSを変更してプッシュとしてマークすることができます。

Xスタックが不要なため、画像のクロールや保存は不要です。

EDIT(再アンドリュー・ムーア):

これは、バージョン番号の下に現在のCSS /画像を保存されたです。 HTMLのコメントに簡単に解析可能なバージョン番号を置きます。 CSS /イメージを変更して既存の名前を使用する場合は、HTML出力のバージョン番号を増やしてください。

HTMLを保存するシステムでは、新しいコピーを取得して新しい番号で保存する必要があることがわかります。再表示するときは、バージョン番号を使用して、使用するCSS /イメージセットを判断するだけです。


私たちは現在、非常に似通ったシステムを使用しているため、ユーザの行動を追跡し、ヘルプデスクに電話する際により良いサポートを提供します。ユーザーセッションを開始し、あるものは生きている。

これを保存するときに、機密フィールドを自動検閲することもできます。

+0

レイアウトやCSS /画像を大幅に変更する日まで機能します。 –

+0

編集を検討してください。これで、ファイルを解析し、相対パス/絶対パスを修正して正しく表示するという追加の問題が発生しました。画像の経路は単に最も簡単です。 –

+0

それは正しいですが、それほど難しいことではありません。私は、ページのレンダリングとイメージの取得が本当に簡単な方法であるかどうかは分からない。最悪の場合、各ユーザーセッションですべてのCSSを保存し、イメージを変更した場合はその名前も変更するようにしてください。または、最初に相対パスですべてを使用するようにしてください。つまり、HTMLを正しく処理するには、HTML内のパス設定を変更する必要はありません。私たちはここでこれを行いましたが、いくつかの最初のdbの問題を除いて、それは魅力のように機能します。 –

0

あなたのニーズに応じて、多くの無料のウェブページサムネイルサービスの1つを使用することができますか? snapcasaは、例えば、これを見つけるためにあなたは月額千ドルを生成することができます/宣伝広告なし..(これまで使用されていない、ちょうどグーグル '無料のサムネイルサービス')。

だけTHOT

関連する問題