несколько wget -r сайт одновременно? - PullRequest
7 голосов
/ 20 января 2011

любая команда / Wget с параметрами?

Для многопоточной загрузки сайта рекурсивно и одновременно?

Ответы [ 4 ]

10 голосов
/ 19 августа 2011

Я нашел достойное решение.

Читайте оригинал на http://www.linuxquestions.org/questions/linux-networking-3/wget-multi-threaded-downloading-457375/

wget -r -np -N [url] &
wget -r -np -N [url] &
wget -r -np -N [url] &
wget -r -np -N [url] &

скопировано столько раз, сколько вы считаете нужным иметь столько процессов загрузка. Это не так элегантно, как правильно многопоточное приложение, но это будет сделано с небольшим количеством накладных расходов. ключом здесь является переключатель "-N". Это означает передачу только файла если он новее, чем на диске. Это (в основном) предотвратит каждый процесс загрузки одного и того же файла другой процесс уже скачал, но пропустите файл и скачайте какой нибудь другой процесс не загружен Он использует метку времени в качестве средства выполнения это, следовательно, небольшие накладные расходы.

Это прекрасно работает для меня и экономит много времени. Не слишком много процессы, поскольку это может насытить соединение веб-сайта и поставить галочку владелец. Держите его примерно до 4 или около того. Тем не менее, номер ограничивается пропускной способностью процессора и сети на обоих концах.

4 голосов
/ 01 апреля 2014

При использовании параллельного wget с использованием переключателя xargs это решение выглядит намного лучше:

https://stackoverflow.com/a/11850469/1647809

3 голосов
/ 07 июня 2013

Используйте axel для загрузки с несколькими подключениями

apt-get install axel

axel http://example.com/file.zip
2 голосов
/ 20 января 2011

Ну, вы всегда можете запустить несколько экземпляров wget, нет?

Пример:

wget -r http://somesite.example.org/ &
wget -r http://othersite.example.net/ &

и т.д.. Этот синтаксис будет работать в любой Unix-подобной среде (например, Linux или MacOS); не уверен, как это сделать в Windows.

Сам Wget не поддерживает многопоточные операции - по крайней мере, ни manpage , ни на его сайте не упоминают об этом. В любом случае, поскольку wget поддерживает поддержку активности HTTP, узким местом обычно является пропускная способность соединения, а не количество одновременных загрузок.

...