Wie lade ich automatisiert ganze Webseiten incl. Inhalte zur lokalen Betrachtung herunter?
Zur Migration in andere Systeme, zur Dokumentation oder reduzierung manueller Downloads im Browser, kann man hervorragend Werkzeuge auf der Kommandozeile einsetzen. Die meisten Programme mit grafischer Oberfläche sind Frontends für diese leistungsfähigen Tools.
FAQ overview
- Was benötige ich, wenn ich wget verwenden möchte?
- Wie erstelle ich einen kompletten Mirror einer Website die lokal im Browser läuft?
Was benötige ich, wenn ich wget verwenden möchte?
wget ist ein automatisches Downloadtool für ganze Webseiten oder FTP-Inhalte. Auf vielen Systemen muss es nachinstalliert werden.MacOSX
- Kommandozeilenversion: auf http://www.versiontracker.com nach wget suchen, downloaden und installieren
- Grafisches interface: auf http://www.versiontracker.com nach SimpleWget suchen, downloaden und installieren
Linux
- Ubuntu / Debian
apt-get install wget
Windows
TBALWie erstelle ich einen kompletten Mirror einer Website die lokal im Browser läuft?
Damit auch URL's die von CGI-Skripten stammen lokal funktionieren können diverse Optionen in wget gesetzt werden. Ich bevorzuge folgende Befehls-Kombination, die auch mit der robots.txt Direktive gesperrte inhalte herunterlädt:cd ZielverzeichnisDie Optionen im einzelnen (Langform mit prefix -- dahinter):
wget -p -m -k -K -E http://www.url.de -a ./mylogfile -e robots=off
- -p --page-requisites alle für eine Page benötigten Inhalte (CSS, Images, Javascripts etc.) mit herunterladen auch wenn die Rekursionstiefen-Begrenzung mit -l ggf. enger gefaßt wird.
- -m --mirror Mirror
- -k --convert-links Link Konvertierung in lokale relative Links
- -K --backup-converted bevor die Links konvertiert werden ein Backup mit Suffix .orig behalten
- -E --html-extension Sichere HTML-Dateien mit .html Erweiterung zum Öffnen im Browser
- -e robots=off --execute="robots=off" (führt einen .wgetrc konformen Befehl aus) hier: "Die robots.txt Direktive ignorieren!"
- -a --append-output=FILE füge das Protokoll an eine ggf. bestehende Logdatei an oder erzeuge ein neues Logfile
wget --helpoder
man wget