Das Webarchiv Österreich ist Teil einer internationalen Gemeinschaft, dem International Internet Preservation Consortium (IIPC)1. Neben jährlichen Konferenzen, Schulungen und Diskussionen werden durch die IIPC auch Projekte finanziert. Dazu zählt etwa der Browsertrix Crawler inklusive einer Management Oberfläche der Browsertrix Cloud.2
In den letzten Jahren hat sich eine neue Generation an Programmen zum Archivieren des Webs etabliert und damit auch ein neuer Begriff: "Browser Based Crawling". Wobei "Crawling" das automatisierte "Ernten" von Webseiten bezeichnet, also das Sichern von Websiten in einem Archivformat (ARC, WARC, WACZ)3. Archivformate können durch andere Software wieder gelesen und in einem Webbrowser zur Darstellung gebracht werden. Im österreichischen Webarchiv sichern wir aktuell im WARC-Format, zum Darstellen unserer Archiv Dateien benutzen wir die Wayback Machine4 des Internet-Archives. Um Websites korrekt archivieren zu können ist es von fundamentaler Bedeutung, dass die Erntesoftware, der sogenannte Crawler, mit der zu archivierende Website erfolgreich interagieren kann. Auch der Mensch muss mit einer Website in Interaktion treten, um an die gesuchten Inhalte zu gelangen. Jede*r von uns macht dies alltäglich und nutzt dazu eine spezielle Software: einen Webbrowser. Dies ist seit Beginn des Webs so, doch wurden damals noch (meist) pure HTML/CSS/Javascript Dateien durch den Browser interpretiert. Moderne Websites, aber auch die Browser selbst, wurden seither immer komplexer. Zum einen werden Seiten dynamisch generiert, also große Teile der Inhalte aus Datenbanken erstellt. Zum anderen werden die HTML-Elemente der Websites immer rudimentärer und die tatsächlich sichtbare Seite durch interaktive Veränderung der Inhalte durch Skripte erstellt. Sowohl die Interpretation, als auch die Ausführung dieser Skripte findet im Browser statt.
Es existiert bereits eine Vielzahl an Archivierungssoftware die sich selbst als "Browser Based" bezeichnet. Für das österreichische Web hat sich Browsertrix als Crawler der Wahl herausgestellt, der im Folgenden näher beschreiben wird.
Diese Technologie arbeitet genauso wie ein*e menschliche*r Websitennutzer*in. Der Crawler öffnet einen Browser, wie etwa Chrome oder Firefox, und besucht eine Website. Dann beginnt er weitere Links zu extrahieren, um anschließend auf den gesamten Inhalt der geladenen Seite, wie Text, Bilder, Videos und Buttons zu klicken und ihn nachzuverfolgen. Dies erfolgt mit Skripten, die direkt im Browser des Crawlers ausgeführt werden: die sogenannten "Behaviour" (Verhaltensweisen). Behaviour für Browsertrix werden mittels der Puppeteer Bibliothek5 ausgeführt und können sowohl angepasst als auch grundsätzlich selbst geschrieben werden. Dies ermöglicht es dem Crawler für unterschiedliche Websites unterschiedliche seitenspezifische Verhaltensweisen auszuführen, wodurch eine nahezu perfekte Qualität einer archivierten Website erreicht werden könnte. Der Konjunktiv ist wichtig, weil es mit erheblichem Aufwand verbunden ist, große Websites vollständig zu analysieren, zu archivieren und die Qualitätskontrolle des Archivs durchzuführen. Deshalb wird in der Praxis kaum eine Website vollständig archiviert. Es werden zu Beginn eines Crawls immer Grenzen festgelegt, in der Webarchivierung wird dies als "Scope" bezeichnet. Diese Grenzen können entweder Speicherplatz, Anzahl der Seiten/Objekte oder die Ausführungszeit sein. Beim Erreichen eines dieser festgelegten Limits wird der Crawl beendet und Inhalte, die über diese Grenze hinausgehen, werden nicht mehr archiviert. Weiters definiert der Scope auch, wie mit Verlinkungen auf externe Websites umgegangen wird. So kann hier z.B. festgelegt werden, wie viele Ebenen der Verlinkung vom Crawler mitarchiviert werden, oder ob externe Links nach bestimmten Schlagworten durchsucht und archiviert werden sollen. Es könnte auch ein physikalischer Server als Scope angegeben werden, und so alle Ressourcen, die dort gefunden werden, archiviert werden. Zwei weitere wichtige Einstellungen gehören zum Scope: Die Anzahl an Sprüngen außerhalb der definierten Grenzen und in welche Tiefe die Seite gecrawlt wird, was der Anzahl von Klicks von der Ausgangsseite entspricht. Es wird daraus klar, dass das Einstellen eines Crawls sich schnell zu einer komplexen Angelegenheit entwickeln kann.6
Ein modernder Crawler muss die folgenden drei Aufgaben erfüllen
Der letzte Punkt, das Archivieren, erfolgt aktuell im Browsertrix durch die python Wayback (pyWB). Diese wurde entwickelt, um die Open Wayback Machine des Internetarchivs zu erneuern. Im Unterschied zur Open Wayback kann die pyWB auch in einem Aufzeichnungs-Modus gestartet werden, der bewirkt, dass alle Seiten, auf die navigiert und mit denen interagiert wird, in einem Archivformat gespeichert werden. Genau dies passiert auch innerhalb der Browsertrix Applikation. Seiten werden geladen und mittels Behaviours in Interaktion gesetzt, gleichzeitig wird mittels pyWB in einem Archivformat gesichert.
Einige Websites haben absichtlich zusätzliche Hindernisse eingebaut, die erst überwunden werden müssen, bevor der Inhalt der Seite zur Anzeige gebracht werden kann. Zum Beispiel müssen Benutzer*innen zunächst die Seitenrichtlinien und Cookies akzeptieren, oder es müssen Browser Plugins, die Werbung blockieren, für spezielle Websites deaktiviert werden. Manche Webinhalte sind kommerziell und werden nur zahlenden Nutzer*innen angezeigt, in diesem Fall wird von Paywalls gesprochen. Auch diese Hindernisse können mit dem Einsatz von Browsertrix, genauer gesagt mit Browsertrix Profilen, überwunden werden. Diese Profile werden vor dem Crawl seitenspezifisch erstellt, indem z.B. ein Login auf der Seite durchgeführt wird. In Profilen ist also der Ausgangspunkt des Crawls gespeichert. Wird ein Profil zum Start des Crawls geladen, fährt der Crawler an der Stelle fort, wo das Profil geendet hat, also z.B.: nach dem Login, und kann so direkt als eingeloggte*r User*in seinen Archivierungsprozess starten. Der größte Nachteil dieser Methode ist, dass die Sitzungen nur eine gewisse Gültigkeitsdauer haben und je nach Seite von Zeit zu Zeit überprüft und gegebenenfalls erneuert werden müssen.
Die Österreichische Nationalbibliothek bedankt sich sehr herzlich beim Wiener Städtische Versicherungsverein für die Unterstützung des Webarchivs Österreich.
Über den Autor: Antares Reich ist Crawl Engineer des Webarchivs Österreich an der Österreichischen Nationalbibliothek.
1 Mehr Informationen siehe IIPC Webseite [Online]: https://netpreserve.org/ [7.11.2023]
2 Mehr Informationen zum Projekt bei IIPC: “BROWSER-BASED CRAWLING SYSTEM FOR ALL” [Online] https://netpreserve.org/projects/browser-based-crawling [6.11.2023] sowie dem Entwicklungsprojekt Browsertrix Crawler auf GitHub [Online] https://github.com/webrecorder/browsertrix-crawler [6.11.2023]
3 Das einzige Archivformat, dass ISO-Standardisiert wurde (ISO 28500:2017) ist das WARC-Format. Nähere Informationen siehe IIPC: ”The WARC Format 1.1” [Online] https://iipc.github.io/warc-specifications/specifications/warc-format/warc-1.1/ [6.11.2023]
4 Aktive Openway Back Machine im Einsatz: Internetarchiv https://archive.org/web/ und im spezifischen für das Österreichische Webarchiv https://webarchiv.onb.ac.at/ und zu näheren Erläuterungen siehe auch Predikaka, Andreas (2020): “Wie das archivierte österreichische Web wieder auf den Bildschirm kommt”, [Online] https://www.onb.ac.at/mehr/blogs/detail/wie-das-archivierte-oesterreichische-web-wieder-auf-den-bildschirm-kommt-3 [6.11.2023]
5 Projektbeschreibung Puppeteer siehe https://pptr.dev/ [6.11.2023]
6 Vgl. Predikaka, Andreas (2020): “Wie das österreichische Web im Archiv landet”, [Online] https://www.onb.ac.at/mehr/blogs/detail/wie-das-oesterreichische-web-im-archiv-landet-3 [6.11.2023]