web-dev-qa-db-fra.com

Télécharger des fichiers à partir d'une liste

Comment puis-je télécharger des fichiers (répertoriés dans un fichier texte) à l'aide de wget ou d'une autre manière automatique?

Exemple de liste de fichiers:

www.example.com/1.pdf
www.example.com/2.pdf
www.example.com/3.pdf
122
Sourav

wget a un drapeau intégré pour cela: wget -i your_list Vous pouvez trouver ce genre de chose en lisant man wget

219
aureianimus

Obtenez-les en parallèle avec

cat urlfile | parallel --gnu "wget {}"

Par défaut, il exécutera autant de processus que de cœurs. Vous pouvez probablement le multiplier par 10 si vous voulez vraiment le réduire rapidement en ajoutant "-j 20" après le parallèle.

84
meawoppl
xargs -i wget 'http://{}'  < your_list
10
Florian Diesch

parallel a un indicateur intégré --arg-file (-a) qui utilisera un fichier d'entrée en tant que source afin que vous puissiez éviter cat |. Vous pouvez utiliser

parallel --gnu -a urlfile wget

Ou simplement parallel --gnu wget < urlfile

7
yxogenium
awk '{print "http://" $0;}' list.txt | xargs -l1 wget

où list.txt est votre fichier de liste

5
flo

J'ai vu la réponse de Florian Diesch.

Je l’ai obtenu en incluant le paramètre bqc dans la commande.

xargs -i wget -bqc 'http://{}' < download.txt

Tous les téléchargements ont commencé en parallèle en arrière-plan.

  • -b: Background. Aller au fond immédiatement après le début
  • -q: Quiet. Désactiver la sortie de wget
  • -c: Continue. Continuer à obtenir un fichier partiellement téléchargé
4
streetlife

Fichier de liens links.txt

Commande de téléchargement de tous les liens

    cat links.txt | wget -i
1
DreamCoder