multithreadingHTTP下载器
我正在寻找一个可以下载多个线程的命令行工具,例如
wget2 -n 5 http://stackoverflow.com/ http://askubuntu.com/ http://bobo.com/
其中-n = number of threads
。 我遇到了Axel,但是当我给它多个URL时,它只下载一个。
我将下载HTML文件。
如果您需要CLI,Aria2是最佳解决方案。 Aria2支持多个连接,多个线程和多个源。
Aria2的另一个好处是它可以作为uGet的插件使用,因此您可以使用Aria2的强大function和易于使用的GUI。
Aria2 – CLI – http://aria2.sourceforge.net/
- 默认情况下,Aria2执行5个连接,但可以使用“-j”参数进行调整。
- aria2c -j 10 http://url.com/path/to/file.ext
uGet – GUI – http://ugetdm.com
- 添加下载时,GUI中可以调整多个连接。
更新:基于OP的批量需求
uGet支持通过.txt,.html,剪贴板和更多方法进行批量下载。 虽然不是CLI,但我认为它很好地解决了这个问题。 我创建了一个video教程来解释各种方法,自记录以来GUI已经改变但function仍然相关。
所有上述和链接的建议都不会使用两个唯一的URL。 它们只接受作为同一文件镜像的URL。
我找到了一些这样做的程序:
最好的是puf(apt-get install puf),使用puf url1 url2等。
然后有HTTRACK,这需要大量的修补,并有一些我无法通过的限制(速度和连接限制)
如果您不需要命令行应用程序,DownThemAll for Firefox非常好。
UPDATE
我发现puf有崩溃的倾向。 最好的解决方案是在新行上创建一个带有URL的.txt文件,例如
http://google.com/ http://yahoo.com/
保存为urls.txt(例如)然后运行命令:
cat urls.txt | xargs -n 1 -P 10 wget -q
-n指定从文件中选择每一行
-p指定要并行下载的URL数。