WebHTTrack sichert komplette Webseiten zum Offline-Lesen auf dem heimischen Rechner und passt dabei Verknüpfungen automatisch an.
Trotz allgegenwärtiger Flatrates gibt es gute Gründe, Webseiten offline zu speichern – sei es fürs Archiv oder um die Inhalte beispielsweise im Intranet zur Verfügung zu stellen. Doch das manuelle Spiegeln ist zeitaufwändig, mühselig und fehlerbehaftet.
Tools wie WebHTTrack [1] helfen dabei und erlauben zudem das komfortable Aktualisieren geladener Inhalte. Unter Ubuntu respektive Linux Mint genügt zur Installation der Software der Aufruf:
$ sudo apt-get install httrack webhttrack
Für Debian, Gentoo, Red Hat, Mandriva, Fedora, FreeBSD und Mac OS X (via MacPorts) gibt es Pakete in den entsprechenden Repositories; auf der Webseite des Projekts stehen darüber hinaus Pakete für Windows zum Download. Sie alle enthalten jeweils die Kommandozeilenvariante namens HTTrack, die sich auch für den Einsatz in Skripten eignet [2], sowie eine HTML-basierte grafische Oberfläche namens WebHTTrack.
Stets zu Diensten
Letztere öffnen Sie entweder über das Startmenü (im K-Menü unter Internet | Webbrowser) oder durch Eingabe von webhttrack im Terminal. Damit starten Sie einen lokalen Webserver auf Port 8080, gleichzeitig öffnet sich im Default-Browser der grafische Assistent, der Sie durch den Vorgang führt (Abbildung 1). Als erstes legen Sie einen Projektnamen und die zugehörige Kategorie fest. Bereits heruntergeladene Seiten listet das Tool gruppiert auf, was insbesondere bei großen Archiven hilft, den Überblick zu behalten. Wo WebHTTrack dieses Archiv anlegt, stellen Sie über das Basisverzeichnis ein, in dem die Software automatisch entsprechende Unterverzeichnisse anlegt.
Auf der nächsten Seite geben Sie die zu speichernden Webseiten an. Die jeweiligen Adressen tippen Sie entweder direkt in das entsprechende Feld ein oder übergeben sie als Textdatei mit einer URL pro Zeile. HTTrack unterstützt die Protokolle FTP, HTTP und HTTPS. Die Adresse der zu spiegelnden Site geben Sie entweder als Ganzes an (zum Beispiel http://kernel.org) oder beschränken sie auf einzelne Unterverzeichnisse (http://kernel.org/faq/). Möchten Sie eine passwortgeschützte Seite herunterladen, verwenden Sie dafür URL hinzufügen…, da der Dialog auch die Eingabe des Nutzernamens und Passworts ermöglicht.
Detailverliebt
WebHTTrack bietet mehrere Modi an, mit denen es die Inhalte herunterlädt. Ohne Rückfragen läuft die Automatische Web-Site-Kopie durch, wogegen Web-Site-Kopie mit Rückfrage sich redseliger gibt und im Zweifelsfall nachfragt. Mittels Spezielle Dateien laden sichern Sie gezielt einzelne Dateien, ohne darin enthaltene Links zu verfolgen, während Zu allen Links verzweigen sich für das Speichern von Lesezeichen eignet, da es alle Links auf der jeweils ersten Seite sichert. Im Gegensatz dazu lädt Links auf den Seiten testen nichts herunter, sondern prüft lediglich die Verknüpfungen auf Gültigkeit.
Hinter der unscheinbaren Schaltfläche Einstellungen… verbergen sich zahlreiche Optionen, mit denen Sie nahezu jedes Detail einstellen. So legen Sie dort unter anderem fest, in welcher Reihenfolge HTTrack die Dateien lädt. Zudem konfigurieren Sie unter Struktur die Art und Weise, in der das Tool die Dokumente lokal ablegt. Standardmäßig bildet es die exakte Verzeichnisstruktur im jeweiligen Unterverzeichnis ab, aber auch die Unterteilung etwa nach Dateityp ist möglich – beispielsweise, um Bilder und PDF-Dateien sauber zu trennen. Reichen die vorgegebenen Strukturen nicht aus (Abbildung 2), geben Sie benutzerdefinierte Pfade anhand von Variablen an. Um das Umschreiben der Links kümmert sich WebHTTrack, Fehlerseiten oder Passwörter entfernt es auf Wunsch.

Abbildung 2: HTTrack erlaubt es Ihnen, der Seite lokal in einer anderen Verzeichnisstruktur zu speichern als das Original.
Abhängig von der verfügbaren Bandbreite passen Sie mittels Flusskontrolle sowohl die Anzahl gleichzeitiger Verbindungen an, als auch die Timeouts und Wiederholungen im Fehlerfall. Das hilft dabei, auch Webseiten auf langsamen Servern zu sichern, ohne sie mit zahlreichen Zugriffen zu bombardieren. Als eine Art integrierter Airbag dienen die Grenzwerte, mit denen Sie unter anderem die Gesamtgröße, die Übertragungsgeschwindigkeit und die Übertragungszeit limitieren.
Weitergehende Einstellungen halten die Registerkarten MIME-Typen, Browser ID, Spider sowie Protokoll, Index, Cache bereit; sie richten sich jedoch in erster Linie an fortgeschrittene Anwender. Relevant in manchen Netzen hingegen ist das Nutzen eines Proxy, was die Software ebenfalls unterstützt. Inwieweit das Kopieren von Webseiten an legale Grenzen stößt, erläutert der Kasten “Kopieren erlaubt?”
Kopieren erlaubt?
Viele Webmaster treffen Vorkehrungen gegen das Kopieren von Website-Inhalten, indem sie beispielsweise die Anzahl der gleichzeitigen Verbindungen limitieren oder explizit Tools wie WebHTTrack blockieren. Sie sollten diesen Wunsch respektieren und nicht versuchen, durch Tricks doch noch zur gewünschten Kopie zu kommen. Unabhängig von der technischen Machbarkeit gilt auch im Internet: Beachten Sie unbedingt das Urheberrecht und etwaige Lizenzen, und fragen Sie im Zweifelsfall den Autor nach der Erlaubnis zu einer Kopie. Die Autoren von WebHTTrack haben zu diesem Thema auch eine eigene Informationsseite geschaltet [7].
Filtern
Eine mächtige Funktion geben Ihnen die Filterregeln an die Hand, mit denen Sie im Detail einstellen, welche Inhalte Sie herunterladen möchten. Standardmäßig sichert HTTrack alle Seiten unterhalb der genannten URL samt der darin enthaltenen Verknüpfungen. Auf einer Webseite, die auch Download-Links enthält, führt das jedoch beispielsweise dazu, dass die Software neben der eigentlichen Homepage auch zahlreiche Programmdateien speichert. Um das zu verhindern verwenden Sie Filter.
Um beispielsweise alle Verknüpfungen außer solchen zu PDF-Dateien zu laden, lautet der Filter -*.pdf. Um hingegen lediglich die PDFs einer Seite auszusparen, benötigen Sie die Regel -www.linux-user.de/*.pdf. Analog übergeht ein -www.linux-user.de/themes/*.css sämtliche CSS-Dateien, aber auch die darin verlinkten Grafiken.
Statt einer Negativliste definieren Sie alternativ eine Positivliste, um die zu sichernden Inhalte explizit zu benennen: So führt der Filter
-* +*.htm* +www.linux-user.de/*.pdf
dazu, dass die Software von der Seite nur PDF-Dokumente speichert. Das einleitende -* schließt alle nicht genannten Dateitypen aus, aber um die einzelnen Seiten auf Links zu parsen, müssen Sie zudem +*.htm* angeben.
Filter arbeitet die Software dabei jeweils von links nach rechts ab, wobei der zuletzt genannte Eintrag die höchste Priorität besitzt. Eine Regel wie
-* +linux-user.de/*.htm* -www.linux-user.de/*.html5
führt dazu, dass die Software Verknüpfungen auf .htm und .html lädt, nicht jedoch solche auf .html5. WebHTTrack geht dabei intelligent vor und schreibt Links auf nicht geladene Dateien direkt auf die Online-Version um. Schließen Sie beispielsweise die PDFs vom Download aus, führt ein Klick auf den entsprechenden Link zur Online-Version – das eignet sich beispielsweise für häufig aktualisierte Inhalte.
Zusätzlich helfen Filter dabei, Größenbeschränkungen festzulegen. So führt die Regel -*.zip[>1024] -*.pdf[<2048] dazu, dass die Applikation keine Verknüpfungen auf ZIP-Dateien über 1 MByte lädt, PDF-Dokumente jedoch nur auslässt, wenn sie mehr als 2 MByte umfassen. Die Angaben lassen sich auch kombinieren: So berücksichtigt -*.png[<5>100] nur PNG-Dateien zwischen 5 und 100 KByte, womit es sowohl Thumbnails als auch zu große Bilder ausspart. Für Experten stellt WebHTTrack sogar die Möglichkeit bereit, Dateien anhand des MIME-Typs auszuwählen und reguläre Ausdrücke zu verwenden, um die Filter zu verfeinern.
Auf los geht’s los!
Haben Sie die Adressen, Filter und weitere Optionen konfiguriert, weisen Sie WebHTTrack zum Schluss mit einem Klick auf Start >> an, den Download zu beginnen. Je nach Umfang und Komplexität der Seite nimmt dieser Vorgang eine ganze Weile in Anspruch, wobei ein Statusfenster Sie über den Fortschritt auf dem Laufenden hält.
Das Programm verfolgt jeden einzelnen Link auf den angegebenen Adressen, lädt die gewünschten Inhalte anhand der Filtervorgaben herunter und schreibt die Dateien entsprechend um. Probleme ergeben sich dabei allerdings bei Seiten mit Flash-Inhalten, CGI-Skripten, Java-Applets oder Javascript, da HTTrack diese nicht immer problemlos analysiert. Sofern möglich, versucht das Tool jedoch, den Dateityp zu erkennen und entsprechend umzubenennen, beispielsweise bei Content-Management-Systemen, die oftmals über PHP-URLs reguläre HTML-Dateien ausliefern.
Nach Abschluss des Downloads bietet der Assistent einen Blick in die Protokolldatei an, um zu verifizieren, dass alles funktioniert hat. Dort finden Sie Angaben zu etwaigen Fehlern, fehlenden Dateien und andere Problemen. Einen Überblick über alle lokal gespiegelten Seiten erhalten Sie, indem Sie die Datei index.html im Basisverzeichnis öffnen – hier kommen die bereits erwähnten Kategorien wieder ins Spiel, denn sie dienen der Gliederung des Archivs (Abbildung 3).

Abbildung 3: Mit der Zeit entsteht eine kleine Bibliothek lokal gespeicherter Seiten, welche die Software übersichtlich verwaltet.
Neben dem einmaligen Download unterstützt WebHTTrack auch das Aktualisieren bereits geladener Inhalte. Zu diesem Zweck legt es einen lokalen Cache an und versucht bei Auswahl des Modus * Vorhandene Kopie aktualisieren nur solche Dateien zu laden, die sich seit dem letzten Aufruf geändert haben. Elemente, die auf dem Server nicht mehr existieren, löscht das Programm dabei, was sich allerdings durch die entsprechende Programmoption deaktivieren lässt.
Back to the Roots
WebHTTrack ist im Prinzip nur ein grafisches Frontend für das eigentliche Arbeitstier HTTrack, das sich insbesondere für den Einsatz in eigenen Skripten eignet.
Sämtliche Optionen, die der Assistent bereitstellt, bildet es als Parameter ab, worüber eine umfangreiche Online-Dokumentation informiert [3]. So lädt der Befehl
$ httrack http://www.documentfoundation.org -* +*.htm* +*.pdf -O /home/floeff/websites
beispielsweise sämtliche PDF-Dateien der Document Foundation-Webseite in ein Unterverzeichnis.
Zusätzlich erlaubt die Kommandozeilenversion nach jeder geladenen Datei einen externen Befehl aufzurufen, beispielsweise um die Ergebnisse in eine Datenbank einzutragen oder Checksummen zu erstellen.
Fazit
WebHTTrack bietet eine komfortable Möglichkeit, ganze Webseiten zur Offline-Lektüre herunterzuladen. Der übersichtliche Assistent vereint zahlreiche Funktionen, mit denen Sie den Download individuell anpassen.
Das Herunterladen von Online-Inhalten gestaltet sich jedoch weniger trivial, als man denken könnte: Externe Links, dynamische Seiten und zahlreiche Verknüpfungen lassen die Aktion schnell zur Herkulesaufgabe mutieren. Mit etwas Hintergrundwissen umschiffen Sie aber die größten Hürden. Dabei helfen insbesondere die FAQ [4], die Kommandozeilen-Dokumentation [5] sowie die Beschreibung der Filterregeln [6].
Infos
[1] HTTrack: http://www.httrack.com
[2] HTTrack in eigenen Skripten verwenden: http://www.httrack.com/html/dev.html
[3] Dokumentation des Kommandozeilen-Tools: http://www.httrack.com/html/fcguide.html
[4] FAQ: http://www.httrack.com/html/faq.html
[5] Dokumentation: http://www.httrack.com/html/
[6] Erklärung der Filterregeln: http://www.httrack.com/html/filters.html
[7] Informationen zur angemessenen Nutzung: http://www.httrack.com/html/abuse.html






