Vergleichen Sie einzelne Websites/Browsersitzungen zu verschiedenen Zeitpunkten.

Vergleichen Sie einzelne Websites/Browsersitzungen zu verschiedenen Zeitpunkten.

Ich muss einzelne Websites zu verschiedenen Zeitpunkten vergleichen, z. B. nach ein paar Tagen oder nachdem ich mich angemeldet habe. Mich interessieren nicht so sehr die Antwortzeiten, sondern mehr der eigentliche Inhalt, wie JS, Bilder usw. Ist das JS, das ich heute geliefert bekomme, beispielsweise dasselbe wie das von gestern? Gibt es eine gute Möglichkeit, diese mehr oder weniger automatisch zu speichern und zu vergleichen (basierend auf Datei-Hashes)?

Das Beste, was mir einfällt, ist entweder die Verwendung eines Proxys mit TLS-Prüfung, der alle heruntergeladenen Dateien im Klartext bereitstellen sollte. Oder die Verwendung von Har-Dateien, die auch alle Dateien enthalten sollten, aus denen die Website besteht. Gibt es etwas, das bei diesen Ansätzen übersehen werden könnte? Oder gibt es vielleicht alternative Möglichkeiten, dies zu tun?

Bearbeiten:

Ich muss nach der Anmeldung Dinge herunterladen und insbesondere wissen, was einige Skripte im Hintergrund senden/empfangen. Ich muss also eine aktive Sitzung aufzeichnen und alle Daten, die über die Leitung gehen, im Klartext erfassen.

Antwort1

Wenn Sie sich anmelden und einige Aktionen ausführen müssen, wgetreichen statische Downloads mit oder ähnlichen Tools nicht aus. In diesem Fall empfehle ich die Verwendung vonSelenum die erforderlichen Aktionen zu skripten und alle Website-Inhalte zusammen mit der Antwort zu sichern.

Die Grundidee wäre, ein Skript in Ihrer bevorzugten Sprache (z. B. Python, Javascript, Ruby, ...) zu schreiben, das den Selenium-Webtreiber verwendet, um einen Browser zu steuern. Das Skript führt die Anmeldeaktionen aus, klickt auf Elemente usw., und sobald Sie eine Antwort erhalten, können Sie den Hauptteil der übertragenen Seite speichern. Ein einfaches Beispiel für Python isthier gegebenund etwas Code, der die Anmeldung zeigtHier.

Sie müssten den Code erweitern, indem Sie alle externen <script>Tags durchlaufen und deren Quelle herunterladen. Oder Sie könnten, indem Sie alle Tags durchgehen <img>, die Bilder herunterladen. Auf diese Weise können Sie den Haupt-HTML-Code leicht vergleichen und sich die einzelnen Dateinamen der aufgerufenen Skripts/Bilder ansehen.

Eine andere Möglichkeit wäre, das Selenium-Skript mit auszuführenBrowserMob, das HAR-Dateien exportieren kann. Auf diese Weise können Sie die Automatisierung mit dem automatischen Dumpen aller Dateien kombinieren. Natürlich müssen Sie dann die HAR-Dateien vergleichen, für die es verschiedene Viewer gibt. Beachten Sie, dass Sie Man-in-the-Middle-Zertifikate mit BrowserMob verwenden müssen, wenn es mit HTTPS-Sites funktionieren soll.

Antwort2

Wenn Sie eine ganze Website herunterladen möchten, lesen Sie den Artikel Bester kostenloser Website-Ripper.

Dieser Artikel enthält Testberichte zu mehreren guten Rippern: HTTrack, PageNest, wget und mehr. Ich habe in der Vergangenheit HTTrack verwendet und es hat bei mir funktioniert.

Um noch weiter in die Vergangenheit zu reisen, können Sie versuchen, Internetarchiv Wayback Machine das versucht, das gesamte Web zu archivieren. Es erstellt regelmäßig Schnappschüsse der Websites, so dass Sie mehrere Versionen zum Vergleichen finden.

Um den Datenverkehr zu erfassen, benötigen Sie einen Web-Traffic-Monitor. Ich kann Ihnen zwei hervorragende Produkte empfehlen: Wireshark und Microsofts Telerik Fiddler.

verwandte Informationen