Télécharger des fichiers d'une liste

114

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
    
posée Sourav 12.02.2012 - 17:39
la source

7 réponses

200

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

    
réponse donnée aureianimus 12.02.2012 - 17:56
la source
83

Obtenez-les en parallèle avec

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

Par défaut, il lancera autant de processus que vous avez de cœurs, vous pouvez probablement le multiplier par 10 si vous voulez vraiment les arrêter rapidement en ajoutant "-j 20" après le parallèle.

    
réponse donnée meawoppl 17.10.2013 - 17:57
la source
9
xargs -i wget 'http://{}'  < your_list
    
réponse donnée Florian Diesch 12.02.2012 - 17:53
la source
7

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

    
réponse donnée yxogenium 18.06.2016 - 14:01
la source
5
awk '{print "http://" $0;}' list.txt | xargs -l1 wget

où list.txt est votre fichier liste

    
réponse donnée flo 12.02.2012 - 17:51
la source
4

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 démarré en parallèle en arrière-plan.

  • -b : Contexte. Aller au fond immédiatement après le début
  • -q : silencieux. Désactiver la sortie de wget
  • -c : Continuer. Continuer à obtenir un fichier partiellement téléchargé
réponse donnée streetlife 04.05.2015 - 18:56
la source
1

Lien fichier links.txt

Commande de téléchargement de tous les liens

    cat links.txt | wget -i
    
réponse donnée DreamCoder 19.05.2015 - 04:54
la source

Lire d'autres questions sur les étiquettes