85 votes

Comment télécharger tous les liens vers les fichiers .zip d'une page web donnée en utilisant wget/curl ?

Une page contient des liens vers un ensemble de fichiers .zip, que je souhaite tous télécharger. Je sais que cela peut être fait par wget et curl. Comment procéder ?

135voto

creaktive Points 3121

La commande est la suivante :

wget -r -np -l 1 -A zip http://example.com/download/

Signification des options :

-r,  --recursive          specify recursive download.
-np, --no-parent          don't ascend to the parent directory.
-l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).
-A,  --accept=LIST        comma-separated list of accepted extensions.

89voto

K.-Michael Aye Points 1255

La solution ci-dessus ne fonctionne pas pour moi. Seule cette solution fonctionne pour moi :

wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off [url of website]

Signification des options :

-r            recursive
-l1           maximum recursion depth (1=use only this directory)
-H            span hosts (visit other hosts in the recursion)
-t1           Number of retries
-nd           Don't make new directories, put downloaded files in this one
-N            turn on timestamping
-A.mp3        download only mp3s
-erobots=off  execute "robots.off" as if it were a part of .wgetrc

6voto

M Lindblad Points 61

Pour d'autres scénarios avec un peu de magie parallèle, j'utilise :

curl [url] | grep -i [filending] | sed -n 's/.*href="\([^"]*\).*/\1/p' |  parallel -N5 wget -

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