Многопоточный HTTP Downloader
Я ищу инструмент командной строки, который может загрузить несколько URL-адресов с несколькими потоками, например
wget2 -n 5 http://stackoverflow.com/ http://Ask-ubuntu.ru/ http://bobo.com/
куда -n = number of threads
, Я сталкивался с Акселем, но когда я даю ему несколько URL-адресов, он загружает только один.
Я буду загружать файлы HTML.
2 ответа
Все вышеперечисленные и связанные предложения не берут два уникальных URL. Они принимают только те URL-адреса, которые являются зеркалами одного и того же файла.
Я нашел несколько программ, которые делают это:
Лучше всего использовать puf (apt-get install puf), использовать puf url1 url2 и т. Д.
Тогда есть HTTRACK, который требует много поворотов и имеет некоторые ограничения, которые я не могу преодолеть (ограничения скорости и соединения)
DownThemAll для Firefox очень хорош, если вам не нужно приложение командной строки.
ОБНОВИТЬ
С тех пор я обнаружил, что пуф имеет тенденцию к краху. Лучшее решение - создать файл.txt с URL-адресами на новых строках, например
http://google.com/
http://yahoo.com/
Сохраните, например, urls.txt, а затем выполните команду:
cat urls.txt | xargs -n 1 -P 10 wget -q
-n указывает на выбор каждой строки из файла
-p указывает количество URL-адресов, которые вы хотели бы загрузить параллельно.
Aria2 - лучшее решение для этого, если вы хотите CLI. Aria2 поддерживает несколько соединений, несколько потоков и несколько источников.
Еще одним преимуществом Aria2 является то, что он работает как плагин для uGet, поэтому вы можете использовать возможности Aria2 с приятным и простым в использовании графическим интерфейсом.
Aria2 - CLI - http://aria2.sourceforge.net/
- по умолчанию Aria2 выполняет 5 соединений, но может быть отрегулирован параметром "-j".
- aria2c -j 10 http://url.com/path/to/file.ext
uGet - GUI - http://ugetdm.com/
- несколько подключений настраивается в графическом интерфейсе при добавлении загрузки.
Обновление: на основе потребностей партии OP
uGet поддерживает пакетную загрузку через.txt, .html, буфер обмена и многие другие методы. Хотя по общему признанию не CLI, я думаю, что это решает проблему довольно хорошо. Я создал видеоурок, чтобы объяснить различные методы, GUI изменился с момента этой записи, но функциональность по-прежнему актуальна.