Ein Discourse-Forum, das ich benutze, wird in ein paar Wochen offline genommen, also habe ich mich daran gemacht, die Seite zu archivieren. Ich habe viel recherchiert, experimentiert und eine einfache Lösung mit HTTrack gefunden. Hier ist alles, was ich gelernt habe.
Discourse-Seite mit HTTrack archivieren
Für Windows-Benutzer scheint die beste Lösung HTTrack zu sein. Dies hat großartig funktioniert und die Seite in HTML-Dateien archiviert. Alle Kategorien, Threads und Beiträge wurden archiviert, einschließlich aller Seiten mit relativen Navigationslinks.
Eine grundlegende Anleitung zu HTTrack finden Sie hier. Ich habe die Einstellungen auf Standard belassen, mit den folgenden benutzerdefinierten Einstellungen:
- Webadressen:
https://forums.gearboxsoftware.com/c/homeworld/https://forums.gearboxsoftware.com/c/homeworld-dok/
- Scan-Regeln:
-gearboxsoftware.com/* -forums.gearboxsoftware.com/* +forums.gearboxsoftware.com/c/homeworld/* +forums.gearboxsoftware.com/c/homeworld-dok/* +forums.gearboxsoftware.com/t/* +forums.gearboxsoftware.com/user_avatar/* +sea2.discourse-cdn.com/*
- Browser-ID (auch bekannt als User Agent):
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Hinweis: Es gibt ein CSS-Problem, das die Kategorie-Links daran hindert, zu funktionieren. Dies kann jedoch wie unten beschrieben einfach behoben werden.
CSS-Problem
Beim Anzeigen von Kategorieseiten als googlebot funktionieren die Thread-Links nicht. Ein Beispiel ist hier.
Dies macht die Navigation auf Kategorieseiten in HTTrack, archive.org und Google Cache unmöglich. Dies scheint ein Discourse-Problem in einer CSS-Datei zu sein. Um die Links zu beheben, blockieren/löschen Sie einfach die folgende CSS-Datei:
stylesheets/desktop_theme_10_1965d1d398092f2d9f956b36e08b127e00f53b70.css?__ws=forums.gearboxsoftware.com
@codinghorror - Können Sie sich darum kümmern?
Herausforderungen
Ich stieß auf die folgenden Herausforderungen und überwand sie schließlich nach viel Herumprobieren.
- Discourse-Seiten werden dynamisch mit JavaScript generiert. Dies führt zu schlechten Ergebnissen mit den meisten Archivierungs-/Crawler-Tools.
- Die meisten Threads laden nur mit den ersten ca. 20? Beiträgen, die restlichen Beiträge erscheinen erst, wenn Sie nach unten scrollen. Das Drücken von Strg+P lädt eine
/print-Seite mit allen sichtbaren Beiträgen. Benutzer sind auf das Drucken von 5 Seiten pro Stunde im Druckmodus beschränkt, diese Grenze kann jedoch von einem Discourse-Site-Administrator erhöht werden. - Adrelanos bemerkte, dass mehrseitige Threads von HTTrack nicht richtig archiviert wurden, ich vermute jedoch, dass dieses Problem auf seine HTTrack-Einstellungen zurückzuführen war, da ich dieses Problem nicht hatte.
- Das Speichern einer Seite als PDF enthält keine zusammengeklappten Detailbereiche.
- Seiten können in einfachem HTML geladen werden, indem
?_escaped_fragment_am Ende einer URL hinzugefügt wird, aber dieser Trick funktioniert nur für Threads, nicht für Kategorien.
Die oben genannten Herausforderungen sind kein Problem, wenn Sie erfahren, dass alle Discourse-Seiten/Inhalte ordnungsgemäß als HTML für Crawler gerendert werden können. Um dies zu tun, müssen Sie den User Agent Ihres Crawlers/Browsers auf googlebot ändern, um die HTML-Version der Seiten zu erhalten.
Archive.org
Wenn Sie die Funktion “Seite jetzt speichern” auf web.archive.org verwenden, wird die JavaScript-Version von Discourse mit schlechten Ergebnissen archiviert. Archive.org verwendet den User Agent der Person, die das Archiv anfordert. Sie müssen also Ihren User Agent auf googlebot ändern. Sie können eine Chrome-Erweiterung namens “User-Agent Switcher for Chrome” erhalten. Fügen Sie in den Optionen hinzu:
- Name: Googlebot
- String:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) - Gruppe: Chrome
- Indikator-Flagge: 1
Alternative Archivierungstools
Viele Tools sind hier aufgelistet: Archive an old forum "in place" to start a new Discourse forum
Ich habe auch kurz GUI-Tools wie Cyotek WebCopy, A1 Website Download und WAIL getestet.
Zu den Befehlszeilentools gehören das Tool von mcmcclur und wget. Eine Anleitung zu wget finden Sie hier.
Für Windows-Benutzer scheint HTTrack jedoch die beste Lösung zu sein.
Hinweis: Da ich ein neuer Benutzer bin, bin ich auf zwei Links in einem Beitrag beschränkt. Daher habe ich einige Links in vorformatierten Text umgewandelt.