Spiegelung
Für im Netz verfügbare Werke, die keinen flächigen Einsatz von dynamischen oder serverseitigen Elementen haben, wird eine Spiegelung mittels Heritrix[1] angewendet.
Inhaltsverzeichnis
Anwendung
Das seit längerer Zeit am meisten genutzte Verfahren zur Webarchivierung ist eine Spiegelung (auch genannt: Remote Harvesting) mittels eines Crawlers.
Dazu wird ein sogenannter Crawler verwendet. Crawler gehören zur Gruppe der „robots“ bzw. „spider“. Diese Gruppe von Software wurde dazu entwickelt mit Online Angeboten, also Websites, zu interagieren, als ob sie menschliche Nutzer wären und so Informationen zu sammeln. Auch Google verwendet solche „robots“, um Websites zu sammeln und zu indexieren.
Die am weitesten verbreiteten Crawler sind HTTrack von Xavier Roche und Heritrix von Internet Archive und Nordic Web Archive.
Technisches Verfahren
Crawler dienen grundsätzlich dazu, einen HTTP request an einen Webserver zu übermitteln, also die gewünschte URL anzufordern.
Der Inhalt, der daraufhin vom Server übermittelt wird, wird gespeichert, sodass die gewünschte Website in ihrem zu diesem Zeitpunkt aktuellen Zustand gespeichert ist. Insoweit entspricht das Verhalten eines Crawler dem eines üblichen Desktop Browsers, wie Mozilla Firefox, Internet Explorer oder Safari.
Da für ein zweckmäßiges Arbeiten des Crawlers eine weitere Automatisierung notwendig ist, arbeitet der Crawler eine Liste von URLs, genannt seeds, ab. Er bearbeitet die erste URL in der Liste, speichert die Webseite und extrahiert alle Hyperlinks auf der Website.
Diese werden dann zu den seeds hinzugefügt. Auf diese Weise werden eine Website und alle anderen Websites, auf die verlinkt wird, gespeichert. Dieser Vorgang kann und muss selbstverständlich durch Parameter beschränkt werden, z. B. die maximale Anzahl an Hyperlinks, denen gefolgt werden soll.
--Hier kommt ein Bild hin--
Der downloader speichert die Website inklusive der Metadaten in den Speicherort (storage). Gleichzeitig extrahiert er die Hyperlinks aus der Website und übergibt diese URLs an die seeds (queue). Der scheduler bestimmt, welche URL als nächste an den downloader übergeben wird und sorgt dafür, dass keine URL doppelt gespeichert wird.
Bekannte Probleme
Generell sind Crawler in der Lage, jeden Inhalt einer Website zu speichern und wieder zugeben. Probleme ergeben sich nur in zwei Bereichen:
- Dynamischer Content: Content der dynamisch erzeugt wird, z.B. aus Javascript. Crawler sind dafür ausgelegt Hyperlinks aus HTML-Code zu extrahieren. Befinden sich die Hyperlinks aber beispielsweise in Javascript-Code, so scheitert der Crawler daran.
- Über eine Suche zugänglicher Content: jeglicher Content, der nur über eine Eingabe des Nutzers erreicht werden kann, ist für den Crawler unerreichbar. Dies trifft beispielsweise meist auf Archiv-Bereiche, Kalender-Einträge, Login-Bereiche etc. zu.
Selbst diese Hürden stellen inzwischen kein Hindernis dar. So enthält der Crawler Heritrix ein Skript, das es ermöglicht, Quelltexte nach bestimmten Tags zu durchsuchen, die auf einen eingebetteten Hyperlink hinweisen. Diese Skripts sind noch nicht völlig ausgereift, bieten aber eine gute Möglichkeit mit den Grenzen des Remote Harvestings umzugehen.
Ausgabe-Format
Im Mai 2009 wurde das so genannte WARC-Format als ISO-Standard verabschiedet. WARC steht hierbei für Web Archive. Es ist ein Container-Dateiformat, das es ermöglicht alle zu einer archivierten Website gehörigen Dateien in einer einzigen Container-Datei zu speichern. Das WARC-Format ist eine Erweiterung des ARC-Formats, das 1996 vom Internet Archive entwickelt wurde. Der verabschiedete ISO-Standard ist kostenpflichtig [2]. Es existiert allerdings ein frei zugänglicher Entwurf des ISO-Standards vom November 2008 [3].
Quellen
- Brown, Adrian (2008): Archiving Websites: A Practical Guide for Information Management Professionals
- Denev, Dimitar (2012): Models and methods for web archive crawling [4]
- Stern, Hunter (2011): Fetch Chain Processors [5]
- Bibliothèque nationale de France (2009): The WARC File Format (ISO 28500) - Information, Maintenance, Drafts [6]