Offlinekopie einer Website mit wget
Wer auf die Schnelle einen lokalen Mirror seiner Homepage erstellen will, muss nicht auf spezielle Tools zurückgreifen. Das Standardtool wget(1) macht hier einen exzellenten Job:
wget -m -k -K -E http://www.yoursite.com
Hiermit wird eine Kopie von der angegeben URL in dem lokalen Ordner www.yoursite.com erstellt. Dabei wird bei dynamischem Content die Dateiendung .html hinzugefügt sowie alle internen Verlinkungen und Pfade angepasst.
Die Bedeutung der verwendeten Parameter im Einzelnen:
-m Optionen für das Spiegeln (-r -N -l inf --no-remove-listing)
-k konvertiert die Links innerhalb der HTML Dokumente
-K Sicherung der Originaldateien vor Konvertierung (Dateiendung .orig)
-E Anhängen der .html Endung
Mehr Optionen und eine genauere Beschreibung liefert man wget.

03. April 2008 um 22:46
Eventuell möchte man noch die Optionen -p und -H hinzufügen.
04. April 2008 um 07:15
-p hört sich auf jeden Fall gut an, auch wenn bei mir im Test keine CSS Dateien oder Bilder fehlten. -H bedeutet dann wohl, dass auch die Daten anderer Hosts heruntergeladen werden, soweit sie verlinkt sind. Gilt dies dann nur für inline Dateien wie Bilder oder auch für externe Links? Ich will ja nicht das ganze Internet runterladen
04. April 2008 um 11:43
Das bedeutet dann aber auch, dass bei dynamischem Content nur das geparste Ergebnis geladen wird, sehe ich das richtig? Wenn die php-Dateien geladen würden, wäre das ja ziemlich gefährlich für manche Seiten…
04. April 2008 um 14:52
Es wird nur das Ergebnis geladen, dass du auch im normalen Browser sehen würdest. Läuft ja im Endeffekt alles über den gleichen Webserver, der die PHP, ASP, CFM usw. Skripte an den jeweiligen Interpreter bzw. Compiler schickt.
04. April 2008 um 19:52
zu -H,
ja, so verstehe ich das. In Verbindung mit -l inf ist das natürlich gefährlich. Aber wer wollte nicht schonmal das komplette Internet spiegeln
Ich hab es aber mangels Bedarf nie ausprobiert.
Grüße,
Christian
06. April 2008 um 18:34
Kann es sein, daß das irgendwie nur eine Ebene tief reicht? Wie ist der Parameter, um wirklich alles zu sichern?
06. April 2008 um 18:50
Durch -m sollte bereits -l inf gesetzt sein. Evtl. ist das - warum auch immer - bei dir anders. Füge zusätzlich den Parameter -l inf hinzu.