Scarica i file da un elenco

114

Come posso scaricare file (elencati in un file di testo) usando wget o qualche altro modo automatico?

Elenco file di esempio:

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

7 risposte

200

wget ha un flag incorporato per questo: wget -i your_list Puoi trovare questo tipo di cose leggendo man wget

    
risposta data aureianimus 12.02.2012 - 17:56
83

Ricevili in parallelo con

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

Per impostazione predefinita eseguirà tutti i processi quanti ne hai, puoi probabilmente aumentare di altri 10x se vuoi davvero eliminarli rapidamente aggiungendo "-j 20" dopo il parallelo.

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

parallel ha un flag incorporato --arg-file ( -a ) che utilizzerà un file di input come origine, quindi puoi evitare cat | . Puoi usare

parallel --gnu -a urlfile wget

O semplicemente parallel --gnu wget < urlfile

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

dove list.txt è il file di elenco

    
risposta data flo 12.02.2012 - 17:51
4

Ho visto la risposta di Florian Diesch.

L'ho fatto funzionare includendo il parametro bqc nel comando.

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

Tutti i download sono stati avviati in parallelo in background.

  • -b : sfondo. Vai allo sfondo subito dopo l'avvio
  • -q : silenzioso. Disattiva l'output di wget
  • -c : continua. Continua a recuperare un file parzialmente scaricato
risposta data streetlife 04.05.2015 - 18:56
1

Link file links.txt

Comando per scaricare tutti i file di collegamenti

    cat links.txt | wget -i
    
risposta data DreamCoder 19.05.2015 - 04:54

Leggi altre domande sui tag