Télécharger récursivement avec wget

32

J'ai un problème avec la commande wget suivante:

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

Il doit télécharger de manière récursive tous les documents liés sur le Web d'origine, mais il ne télécharge que deux fichiers ( index.htmlet robots.txt).

Comment puis-je obtenir un téléchargement récursif de ce site?

Xralf
la source

Réponses:

40

wgetpar défaut, il respecte la norme robots.txt pour l'exploration de pages, comme le font les moteurs de recherche, et pour archive.org, il interdit tout le sous-répertoire / web /. Pour remplacer, utilisez -e robots=off,

wget -nd -r -l 10 -e robots=off http://web.archive.org/web/20110726051510/http://feedparser.org/docs/
Ulrich Schwarz
la source
Merci. Existe-t-il une option permettant de stocker chaque lien une seule fois? Peut-être devrais-je diminuer le 10nombre, mais c'est difficile à deviner. Maintenant , il y a un fichier introduction.html, introduction.html.1, introduction.html.2et je préfère terminé le processus.
xralf
Et les liens dirigent vers le Web. Est-ce que l' --mirroroption pour les liens est dirigée vers le système de fichiers?
xralf
1
@xralf: eh bien, vous utilisez -nd, donc différents messages index.htmlsont placés dans le même répertoire, et sans cela -k, vous n'obtiendrez pas de réécriture des liens.
Ulrich Schwarz
12
$ wget --random-wait -r -p -e robots=off -U Mozilla \
    http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

Télécharge récursivement le contenu de l'URL.

--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)".

Quelques autres options utiles sont:

--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
la source
-l 0 - remove recursion depth (which is 5 by default)+1
Dani