it-swarm-eu.dev

Stahujte soubory ze seznamu

Jak mohu stahovat soubory (které jsou uvedeny v textovém souboru) pomocí wget nebo jiným automatickým způsobem?

Ukázkový seznam souborů:

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

wget má k tomu vestavěný příznak: wget -i your_list Tuto věc najdete čtením man wget

240
aureianimus

Získejte je paralelně s

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

Ve výchozím nastavení bude spuštěno tolik procesů, kolik máte jader, pravděpodobně to můžete zvýšit o dalších 10x, pokud je chcete opravdu rychle stáhnout dolů přidáním "-j 20" po paralelně.

88
meawoppl

parallel má vestavěný příznak --arg-file (-a), který bude používat zdrojový soubor, takže se můžete vyhnout cat |. Můžeš použít

parallel --gnu -a urlfile wget

Nebo jednoduše parallel --gnu wget < urlfile

11
yxogenium
xargs -i wget 'http://{}'  < your_list
10
Florian Diesch
awk '{print "http://" $0;}' list.txt | xargs -l1 wget

kde list.txt je váš seznam

5
cbix

Viděl jsem odpověď Floriana Diesche.

Dostal jsem to do práce zahrnutím parametru bqc do příkazu.

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

Všechna stahování začala paralelně na pozadí.

  • -b: Pozadí. Ihned po startu přejděte na pozadí
  • -q: Ticho. Vypněte výstup wgetu
  • -c: Pokračovat. Pokračujte v získávání částečně staženého souboru
4
streetlife

Odkaz na soubor links.txt

Příkaz pro stahování načte všechny odkazy

cat links.txt | wget -i
1
DreamCoder

Právě jsem to vyzkoušel:

xargs -a download_file -L1 wget

Funguje to pro mě. Odkazy uvnitř souboru txt musí být v samostatných řádcích.

0
Kyle Felipe