Encontré solo puf (Buscador de URL paralelo) pero no pude hacerlo leer las URL de un archivo; algo como
puf < urls.txt
tampoco funciona
El sistema operativo instalado en el servidor es Ubuntu.
ubuntu
wget
parallelism
Caminante lunar
fuente
fuente
Respuestas:
Usando GNU Paralelo ,
o
xargs
de GNU Findutils ,donde
${jobs}
está el número máximo dewget
desea permitir la ejecución simultánea (ajuste-n
para1
conseguir unawget
invocación por línea enurls.txt
). Sin-j
/-P
,parallel
ejecutará tantos trabajos a la vez como núcleos de CPU (lo que no necesariamente tiene sentido parawget
enlazado por la red IO), yxargs
ejecutará uno a la vez.Una buena característica que
parallel
ha terminadoxargs
es mantener separada la salida de los trabajos que se ejecutan simultáneamente, pero si no le importa,xargs
es más probable que esté preinstalada.fuente
jobs
depende de muchos factores: latencia de ruta, ancho de banda de ruta, políticas de servidor remoto, etc.aria2 hace esto.
http://sourceforge.net/apps/trac/aria2/wiki/UsageExample#Downloadfileslistedinafileconcurrently
Ejemplo: aria2c http://example.org/mylinux.iso
fuente
Puede implementar eso usando Python y la biblioteca pycurl. La biblioteca pycurl tiene la interfaz "multi" que implementa su propio bucle par que permite múltiples conexiones simultáneas.
Sin embargo, la interfaz es bastante similar a C y, por lo tanto, un poco engorrosa en comparación con otro código más "pitónico".
Escribí un contenedor para él que construye un cliente más completo similar al navegador. Puedes usar eso como un ejemplo. Vea el módulo de cliente pycopia.WWW.client . El HTTPConnectionManager envuelve la interfaz múltiple.
fuente
Esto funciona, y no lo hará DoS local o remoto, con los ajustes adecuados:
fuente
Parte de la página de manual de GNU Parallel contiene un ejemplo de un wget recursivo paralelo.
https://www.gnu.org/software/parallel/man.html#EXAMPLE:-Breadth-first-parallel-web-crawler-mirrorer
HTML se descarga dos veces: una para extraer enlaces y otra para descargar en el disco. Otro contenido solo se descarga una vez.
Si no necesita la recursividad, la respuesta del ephemient parece obvia.
fuente
Las víctimas de su descarga paralela no se divertirán: esperan que una conexión sirva a cada cliente, configurar varias conexiones significa menos clientes en general. (Es decir, esto se considera comportamiento grosero).
fuente