[Download] descargar wget con múltiples conexiones simultáneas


Answers

Wget no es compatible con múltiples conexiones de socket para acelerar la descarga de archivos.

Creo que podemos hacerlo un poco mejor que la respuesta gmariana.

La forma correcta es usar aria2 .

aria2c -x 16 -s 16 [url]
#          |    |
#          |    |
#          |    |
#          ---------> the number of connections here
Question

Estoy usando wget para descargar contenido del sitio web, pero wget descarga los archivos uno por uno.

¿Cómo puedo hacer la descarga de wget usando 4 conexiones simultáneas?




make se puede paralelizar fácilmente (por ejemplo, make -j 4 ). Por ejemplo, aquí hay un archivo Makefile simple que estoy usando para descargar archivos en paralelo usando wget:

BASE=http://www.somewhere.com/path/to
FILES=$(shell awk '{printf "%s.ext\n", $$1}' filelist.txt)
LOG=download.log

all: $(FILES)
    echo $(FILES)

%.ext:
    wget -N -a $(LOG) $(BASE)/$@

.PHONY: all
default: all



Como el paralelo de GNU aún no se mencionó, déjenme decirlo de otra manera:

cat url.list | parallel -j 8 wget -O {#}.html {}






Recomiendo encarecidamente usar httrack.

ex: httrack -v -w http://example.com/

Hará un espejo con 8 conexiones simultáneas por defecto. Httrack tiene un montón de opciones donde jugar. Echar un vistazo.




Una nueva herramienta (pero no lanzada) es Mget . Ya tiene muchas opciones conocidas de Wget y viene con una biblioteca que le permite realizar descargas fácilmente (recursivas) en su propia aplicación.

Para responder tu pregunta:

mget --num-threads=4 [url]

ACTUALIZAR

Mget ahora se desarrolla como Wget2 con muchos errores corregidos y más funciones (por ejemplo, soporte HTTP / 2).

--num-threads es ahora --max-threads .




Links