169 votes

Comment télécharger un répertoire entier et ses sous-répertoires à l'aide de wget ?

J'essaie de télécharger les fichiers d'un projet à l'aide de la fonction wget car le serveur SVN de ce projet ne fonctionne plus et je ne peux accéder aux fichiers que par un navigateur. Les URLs de base de tous les fichiers sont les mêmes, comme suit

http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ *

Comment puis-je utiliser wget (ou tout autre outil similaire) pour télécharger tous les fichiers de ce dépôt, où le dossier "tzivi" est le dossier racine et où il y a plusieurs fichiers et sous-dossiers (jusqu'à 2 ou 3 niveaux) ?

240voto

Vous pouvez l'utiliser dans le shell :

wget -r --no-parent http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/

Les paramètres sont :

-r     //recursive Download

et

--no-parent // Don´t download something from the parent directory

Si vous ne souhaitez pas télécharger l'intégralité du contenu, vous pouvez utiliser :

-l1 just download the directory (tzivi in your case)

-l2 download the directory and all level 1 subfolders ('tzivi/something' but not 'tivizi/somthing/foo')  

Et ainsi de suite. Si vous n'insérez pas -l option, wget utilisera -l 5 automatiquement.

Si vous insérez un -l 0 tu téléchargeras tout l'Internet, parce que wget suivra tous les liens qu'il trouvera.

24voto

Rajiv Yadav Points 241

Vous pouvez l'utiliser dans un shell :

wget -r -nH --cut-dirs=7 --reject="index.html*" \
      http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/

Les paramètres sont :

-r recursively download

-nH (--no-host-directories) cuts out hostname 

--cut-dirs=X (cuts out X directories)

9voto

Ce lien vient de me donner la meilleure réponse :

$ wget --no-clobber --convert-links --random-wait -r -p --level 1 -E -e robots=off -U mozilla http://base.site/dir/

Ça a marché comme un charme.

5voto

Sarkar_lat_2016 Points 51
wget -r --no-parent URL --user=username --password=password

les deux dernières options sont facultatives si vous avez le nom d'utilisateur et le mot de passe pour le téléchargement, sinon il est inutile de les utiliser.

Vous pouvez également voir plus d'options dans le lien https://www.howtogeek.com/281663/how-to-use-wget-the-ultimate-command-line-downloading-tool/

4voto

lanni654321 Points 525

Utiliser la commande

wget -m www.ilanni.com/nexus/content/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X