Komplette Webseiten mit wget herunterladen
Das Linux-Tool wget gehört seit vielen Jahren zu den beliebtesten Werkzeugen für Administratoren und Entwickler. Neben dem einfachen Download einzelner Dateien besitzt wget eine besonders interessante Funktion: Es kann komplette Webseiten inklusive aller Bilder, CSS-Dateien, JavaScript-Dateien und weiterer Ressourcen lokal spiegeln.
Gerade für Entwickler, Administratoren oder zur Analyse von Webseiten ist diese Funktion äußerst praktisch.
Der wget-Befehl
Mit folgendem Befehl kannst du beispielsweise die komplette Website imakeyouintelligent.com lokal herunterladen:
wget \
--mirror \
--convert-links \
--adjust-extension \
--page-requisites \
--restrict-file-names=windows \
https://www.imakeyouintelligent.com/
Was bedeuten die einzelnen Parameter?
–mirror
Aktiviert den Spiegelmodus. Intern kombiniert wget dabei mehrere Optionen:
- rekursiver Download
- unendliche Rekursion
- Zeitstempel berücksichtigen
- keine Parent-Verzeichnisse verlassen
Dadurch entsteht eine nahezu vollständige lokale Kopie der Webseite.
–convert-links
Nach dem Download werden sämtliche internen Links angepasst.
Aus:
https://www.imakeyouintelligent.com/blog/
wird automatisch:
blog/index.html
Dadurch funktioniert die Webseite auch lokal im Browser.
–adjust-extension
Viele Webseiten liefern HTML-Dateien ohne Dateiendung aus. Diese Option ergänzt automatisch die passende Erweiterung (.html).
Dadurch lassen sich die Dateien problemlos lokal öffnen.
–page-requisites
Dieser Parameter lädt alle für die Darstellung notwendigen Dateien herunter.
- CSS-Dateien
- JavaScript
- Bilder
- Schriftarten
- Icons
Ohne diese Option würde häufig nur der HTML-Code gespeichert werden.
–restrict-file-names=windows
Diese Option sorgt dafür, dass Dateinamen auch unter Windows problemlos verwendet werden können.
Sonderzeichen und ungültige Zeichen werden automatisch angepasst.
Wie funktioniert wget technisch?
Nach dem Start analysiert wget zunächst die Startseite.
Im Anschluss werden sämtliche internen Links rekursiv verfolgt.
Der Ablauf sieht vereinfacht folgendermaßen aus:
Startseite
│
▼
HTML analysieren
│
▼
Links extrahieren
│
▼
Bilder herunterladen
│
▼
CSS herunterladen
│
▼
JavaScript herunterladen
│
▼
Unterseiten analysieren
│
▼
Wiederholen bis keine neuen Seiten gefunden werden
Dadurch entsteht eine nahezu vollständige Offline-Kopie der Website.
Wofür eignet sich diese Funktion?
- Offline-Dokumentationen erstellen
- Backups statischer Webseiten
- Migration bestehender Webseiten
- Analyse fremder Webseiten
- Archivierung eigener Projekte
- Entwicklung und Tests ohne Internetverbindung
Wichtige Hinweise
Der Spiegelmodus eignet sich ausschließlich für öffentlich erreichbare Inhalte.
Dynamische Funktionen wie Login-Bereiche, Formulare, Datenbanken oder serverseitige Anwendungen (PHP, ASP.NET, Node.js usw.) können damit nicht vollständig übernommen werden, da wget ausschließlich die ausgelieferte Webseite herunterlädt.
Auch solltest du immer die robots.txt sowie die Nutzungsbedingungen einer Website beachten und nur Inhalte herunterladen, für die du eine Berechtigung besitzt.
Fazit
Mit nur einem einzigen wget-Befehl lässt sich eine komplette Website inklusive Bilder, Stylesheets und JavaScript lokal spiegeln. Gerade für Administratoren, Webentwickler und IT-Profis gehört diese Funktion zu den nützlichsten Werkzeugen im Linux-Alltag.
Wer häufiger Webseiten analysiert oder Offline-Kopien erstellen möchte, sollte wget unbedingt kennen.