Ich möchte eine lokale Kopie einer Webseite herunterladen und alle CSS, Bilder, Javascript usw. erhalten.
In früheren Diskussionen (z. B. hier und hier , die beide älter als zwei Jahre sind) werden im Allgemeinen zwei Vorschläge gemacht: wget -p
und httrack . Diese Vorschläge schlagen jedoch beide fehl. Ich würde mich sehr über Hilfe bei der Verwendung eines dieser Tools zur Erfüllung der Aufgabe freuen. Alternativen sind auch sehr schön.
Option 1: wget -p
wget -p
Lädt erfolgreich alle Voraussetzungen der Webseite herunter (CSS, Bilder, JS). Wenn ich jedoch die lokale Kopie in einen Webbrowser lade, kann die Seite die Voraussetzungen nicht laden, da die Pfade zu diesen Voraussetzungen gegenüber der Version im Web nicht geändert wurden.
Beispielsweise:
- Im HTML der Seite
<link rel="stylesheet href="https://stackoverflow.com/stylesheets/foo.css" />
muss korrigiert werden, um auf den neuen relativen Pfad von zu verweisenfoo.css
- In der CSS-Datei
background-image: url(/images/bar.png)
muss ebenfalls angepasst werden.
Gibt es eine Möglichkeit, Änderungen vorzunehmen, wget -p
damit die Pfade korrekt sind?
Option 2: httrack
httrack
scheint ein großartiges Werkzeug zum Spiegeln ganzer Websites zu sein, aber mir ist nicht klar, wie ich damit eine lokale Kopie einer einzelnen Seite erstellen soll. In den httrack-Foren wird viel über dieses Thema diskutiert (z. B. hier ), aber niemand scheint eine kugelsichere Lösung zu haben.
Option 3: ein anderes Werkzeug?
Einige Leute haben kostenpflichtige Tools vorgeschlagen, aber ich kann einfach nicht glauben, dass es keine kostenlose Lösung gibt.
quelle
wget -E -H -k -K -p http://example.com
- Nur das hat bei mir funktioniert. Credit: superuser.com/a/136335/94039wget --random-wait -r -p -e robots=off -U mozilla http://www.example.com
Antworten:
wget ist in der Lage zu tun, was Sie verlangen. Versuchen Sie einfach Folgendes:
Damit
-p
erhalten Sie alle erforderlichen Elemente, um die Site korrekt anzuzeigen (CSS, Bilder usw.). Das-k
wird alle Links ändern (zu denen für CSS und Bilder enthalten), damit Sie die Seite offline anzuzeigen , wie es online erschienen.Aus den Wget-Dokumenten:
quelle
index.html#link-to-element-on-same-page
funktionierten interne Links wie nicht mehr.-U 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20070802 SeaMonkey/1.1.4'
-H, --span-hosts