比較不同時間點的單一網站/瀏覽會話

比較不同時間點的單一網站/瀏覽會話

我需要比較不同時間點的單一網站。即幾天後或登入後。就像我今天收到的js和昨天一樣。有沒有一種巧妙的方法來或多或少地自動轉儲這些內容並比較它們(基於文件哈希)?

我能想到的最好方法是使用具有 TLS 檢查的代理,該代理應以明文形式提供所有下載的檔案。或使用 har 文件,該文件還應包含由該網站組成的所有文件。這些方法有什麼可能會遺漏的嗎?或者是否有其他方法可以做到這一點?

編輯:

我需要在登入後下載東西,特別是我需要知道一些腳本在後台發送/接收什麼。因此,我需要記錄活動會話並捕獲以明文形式透過網路傳輸的所有資料。

答案1

如果您需要登入並執行某些操作,那麼使用wget或類似工具的靜態下載是不夠的。在這種情況下,我建議使用碳粉匣編寫所需操作的腳本,並轉儲所有網站內容以及回應。

基本想法是用您喜歡的語言(例如 Python、Javascript、Ruby...)編寫一個腳本,使用 Selenium Web 驅動程式來引導瀏覽器。該腳本執行登入操作、點擊元素等,一旦收到回應,您就可以儲存傳輸頁面的正文。 Python 的一個簡單範例是在這裡給出,以及一些顯示登入的程式碼這裡

您必須透過迭代所有外部<script>標籤、下載其原始程式碼來擴展程式碼,或透過遍歷所有<img>標籤來下載圖像。透過這種方式,您可以輕鬆區分主要 HTML 程式碼,並查看所呼叫的腳本/圖像的各個檔案名稱。

另一種可能性是執行 Selenium 腳本瀏覽器Mob,可以匯出HAR文件。透過這種方式,您可以將自動化與自動轉儲所有內容結合。當然,然後您必須比較存在不同檢視器的 HAR 檔案。請注意,如果您希望 BrowserMob 能夠與 HTTPS 網站一起使用,則必須將中間人憑證與 BrowserMob 一起使用。

答案2

如果您想下載整個網站,請參閱文章 最佳免費網站開膛手

本文包含對幾個優秀 Ripper 的評論:HTTrack、PageNest、wget 等。我過去使用過 HTTrack,它對我很有用。

要追溯到更早的時間,您可以嘗試 網路檔案回溯機 試圖存檔整個網路。它會定期拍攝網站快照,因此您會找到多個版本進行比較。

為了捕獲流量,您將需要一個網路流量監視器。我可以推薦兩款優秀的產品: Wireshark 和微軟的 泰勒里克提琴手

相關內容