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.

7 Kommentare zu “Offlinekopie einer Website mit wget”

  1. Christian schrieb:

    Eventuell möchte man noch die Optionen -p und -H hinzufügen.

  2. matthias schrieb:

    -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 ;)

  3. usp schrieb:

    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…

  4. matthias schrieb:

    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.

  5. Christian schrieb:

    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

  6. derstuff schrieb:

    Kann es sein, daß das irgendwie nur eine Ebene tief reicht? Wie ist der Parameter, um wirklich alles zu sichern?

  7. matthias schrieb:

    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.


Ein Kommentar schreiben

XHTML: Diese Tags können benutzt werden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>