異なる時点における単一のウェブサイト/閲覧セッションを比較する

異なる時点における単一のウェブサイト/閲覧セッションを比較する

異なる時点、つまり数日後やログイン後における単一の Web サイトを比較する必要があります。応答時間についてはあまり興味がありませんが、実際のコンテンツ、たとえば js や画像などについて興味があります。今日配信された js は昨日と同じでしょうか。これらをほぼ自動的にダンプして比較する (ファイル ハッシュに基づいて) 便利な方法はありますか?

私が思いつく最善の方法は、ダウンロードしたすべてのファイルをクリアテキストで配信する TLS 検査付きのプロキシを使用することです。または、Web サイトを構成するすべてのファイルも含む har ファイルを使用することです。これらのアプローチで見逃す可能性のあるものはありますか? または、それを実行する別の方法があるでしょうか?

編集:

ログイン後に何かをダウンロードする必要があり、特に、一部のスクリプトがバックグラウンドで何を送受信しているかを知る必要があります。そのため、アクティブなセッションを記録し、ネットワーク上で送信されるすべてのデータをクリアテキストでキャプチャする必要があります。

答え1

ログインして何らかのアクションを実行する必要がある場合、wgetまたは同様のツールを使用した静的ダウンロードでは不十分です。この場合、セレン必要なアクションをスクリプト化し、応答とともにすべての Web サイト コンテンツをダンプします。

基本的な考え方は、好みの言語(Python、Javascript、Rubyなど)でスクリプトを書いて、Selenium Webドライバーを使ってブラウザを操作することです。スクリプトはログインアクションや要素のクリックなどを実行し、レスポンスを受け取ったら転送されたページの本体を保存できます。Pythonの簡単な例は次のとおりです。ここで与えられた、そしてログインを示すコードここ

<script>すべての外部タグを反復処理してソースをダウンロードするか、すべてのタグを調べて画像をダウンロードすることで、コードを拡張する必要があります<img>。この方法では、メインの HTML コードを簡単に比較し、呼び出されたスクリプト/画像の個々のファイル名を確認できます。

もう一つの可能​​性は、Seleniumスクリプトを次のように実行することです。ブラウザモブ、HAR ファイルをエクスポートできます。この方法では、自動化とすべてを自動的にダンプすることを組み合わせることができます。もちろん、その後、さまざまなビューアが存在する HAR ファイルを比較する必要があります。HTTPS サイトで動作させるには、BrowserMob で中間者証明書を使用する必要があることに注意してください。

答え2

ウェブサイト全体をダウンロードしたい場合は、記事をご覧ください。 最高の無料ウェブサイトリッパー

この記事には、HTTrack、PageNest、wget など、いくつかの優れたリッパーのレビューが含まれています。私は以前 HTTrack を使用したことがあり、うまく機能しました。

さらに過去に遡るには、 インターネットアーカイブ ウェイバックマシン Web 全体をアーカイブしようとします。Web サイトのスナップショットを定期的に取得するため、比較できる複数のバージョンが見つかります。

トラフィックをキャプチャするには、Web トラフィック モニターが必要です。次の 2 つの優れた製品をお勧めします。 ワイヤーシャーク マイクロソフトの テレリク・フィドラー

関連情報