Rekursiv mit wget herunterladen

32

Ich habe ein Problem mit dem folgenden Befehl wget:

wget -nd -r -l 10 http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

Es sollte rekursiv alle verknüpften Dokumente im Original-Web herunterladen, aber es werden nur zwei Dateien ( index.htmlund robots.txt) heruntergeladen .

Wie kann ich dieses Web rekursiv herunterladen ?

xralf
quelle

Antworten:

40

wgetStandardmäßig wird der robots.txt-Standard für das Crawlen von Seiten wie bei Suchmaschinen beachtet, und für archive.org wird das gesamte / web / -Unterverzeichnis nicht zugelassen. Zum Überschreiben verwenden Sie -e robots=off,

wget -nd -r -l 10 -e robots=off http://web.archive.org/web/20110726051510/http://feedparser.org/docs/
Ulrich Schwarz
quelle
Vielen Dank. Gibt es eine Möglichkeit, jeden Link nur einmal zu speichern? Vielleicht sollte ich 10auf eine niedrigere Zahl abnehmen , aber es ist schwer zu erraten. Jetzt gibt es eine Datei introduction.html, introduction.html.1, introduction.html.2und ich eher das Verfahren beendet.
Xralf
Und die Links verweisen auf das Web. Ist die --mirrorOption für die Links zum Dateisystem zu leiten?
Xralf
1
@xralf: Nun, Sie verwenden -nd, also werden verschiedene index.htmls in dasselbe Verzeichnis gestellt, und ohne -kwerden Sie die Links nicht umschreiben.
Ulrich Schwarz
12
$ wget --random-wait -r -p -e robots=off -U Mozilla \
    http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

Lädt rekursiv den Inhalt der URL herunter.

--random-wait - wait between 0.5 to 1.5 seconds between requests.
-r - turn on recursive retrieving.
-e robots=off - ignore robots.txt.
-U Mozilla - set the "User-Agent" header to "Mozilla". Though a better choice is a real User-Agent like "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)".

Einige andere nützliche Optionen sind:

--limit-rate=20k - limits download speed to 20kbps.
-o logfile.txt - log the downloads.
-l 0 - remove recursion depth (which is 5 by default).
--wait=1h - be sneaky, download one file every hour.
Nikhil Mulley
quelle
-l 0 - remove recursion depth (which is 5 by default)+1
Dani