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
wget a un drapeau intégré pour cela: wget -i your_list
Vous pouvez trouver ce genre de chose en lisant man wget
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.
xargs -i wget 'http://{}' < your_list
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
awk '{print "http://" $0;}' list.txt | xargs -l1 wget
où list.txt est votre fichier de liste
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éFichier de liens links.txt
Commande de téléchargement de tous les liens
cat links.txt | wget -i