Descargar archivos de una lista

114

¿Cómo puedo descargar archivos (que están listados en un archivo de texto) usando wget o alguna otra forma automática?

Lista de archivos de muestra:

www.example.com/1.pdf
www.example.com/2.pdf
www.example.com/3.pdf
    
pregunta Sourav 12.02.2012 - 17:39

7 respuestas

199

wget tiene un indicador incorporado para esto: wget -i your_list Puedes encontrar este tipo de cosas leyendo man wget

    
respondido por el aureianimus 12.02.2012 - 17:56
83

Consíguelos en paralelo con

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

De forma predeterminada, ejecutará tantos procesos como tengas núcleos, probablemente puedas aumentar esto 10 veces más si realmente quieres derribarlos rápidamente agregando "-j 20" después del paralelo.

    
respondido por el meawoppl 17.10.2013 - 17:57
9
xargs -i wget 'http://{}'  < your_list
    
respondido por el Florian Diesch 12.02.2012 - 17:53
7

parallel tiene un indicador incorporado --arg-file ( -a ) que usará un archivo de entrada como fuente, por lo que puede evitar cat | . Puedes usar

parallel --gnu -a urlfile wget

O simplemente parallel --gnu wget < urlfile

    
respondido por el yxogenium 18.06.2016 - 14:01
5
awk '{print "http://" $0;}' list.txt | xargs -l1 wget

donde list.txt es su archivo de lista

    
respondido por el flo 12.02.2012 - 17:51
4

Vi la respuesta de Florian Diesch.

Lo hice funcionar al incluir el parámetro bqc en el comando.

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

Todas las descargas comenzaron en paralelo en segundo plano.

  • -b : fondo Ir al fondo inmediatamente después del inicio
  • -q : Tranquilo. Desactivar la salida de wget
  • -c : Continuar. Continuar obteniendo un archivo parcialmente descargado
respondido por el streetlife 04.05.2015 - 18:56
1

Enlace al archivo links.txt

Comando para descargar todos los archivos de enlaces

    cat links.txt | wget -i
    
respondido por el DreamCoder 19.05.2015 - 04:54

Lea otras preguntas en las etiquetas