Spiegeln Sie einen Blog mit wget


9

Ich versuche einen Blog zu spiegeln, zB www.example.commit wget.

Ich benutze wget mit den folgenden Optionen (Shell-Variablen werden korrekt ersetzt):

wget -m -p -H -k -E -np \
    -w 1 \
    --random-wait \
    --restrict-file-names=windows \
    -P $folder \
    -Q${quota}m \
    -t 3 \
    --referer=$url \
    -U 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20070802 SeaMonkey/1.1.4' \
    -e robots=off \
    -D $domains
    -- $url

Der Blog enthält Bilder, die sich in anderen Domänen befinden.

Obwohl ich die -pOption angegeben habe (verknüpfte Seiten-Assets herunterladen), werden diese Bilder nur heruntergeladen, wenn ich jede Domain explizit in der -DOption angegeben habe.

Wenn ich die -DOption weglasse, folgt wget jedem Link außerhalb www.example.comund lädt das gesamte Internet herunter.

Ist es möglich wget, einfach jedem Link unter zu folgen www.example.comund die erforderlichen Assets jeder Seite herunterzuladen, unabhängig davon, ob sich diese auf derselben Domain befinden oder nicht, ohne dass ich jede Domain explizit angeben muss?


Ich würde gerne auch auf diese eine gute Antwort finden. Ich bin in die gleiche Situation geraten und konnte keinen einzigen Wget-Aufruf finden, der dies tat. Am Ende habe ich wget -N -E -H -k -K -pzuerst verwendet und mir ein Skript ausgedacht, um fehlende verknüpfte Bilder abzurufen.
Zitronenqueeze

5
Nach diesem , httrack ist ein Killer für diese. Ich werde es das nächste Mal versuchen, anstatt zu wget.
Zitronenqueeze

Angenommen, Ihr Blog (abzüglich der Seitenressourcen) erstreckt sich nicht über mehrere Domänen. Entfernen Sie sowohl die -D $domainsals auch -H. Ohne -Hsollte es in Ihrer Domain bleiben, aber trotzdem die direkten Seiten-Assets abrufen, selbst wenn sie sich in einer anderen Domain befinden.
blubberdiblub

Antworten:


1

Nein, die einzige Möglichkeit besteht darin, die Domänen anzugeben, denen wget folgen soll, indem Sie -D oder --domains = [Domänenliste] (in Form einer durch Kommas getrennten Liste) verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.