我正在寻找一个可以使用多个线程下载多个 URL 的命令行工具,例如
wget2 -n 5 http://stackoverflow.com/ http://askubuntu.com/ http://bobo.com/
在哪里-n = number of threads
。我遇到过 Axel,但是当我给它多个 URL 时,它只下载一个。
我将下载 HTML 文件。
答案1
如果您想要 CLI,Aria2 是最佳解决方案。Aria2 支持多个连接、多个线程和多个源。
Aria2 的另一个好处是它可以作为 uGet 的插件,因此您可以通过易于使用的 GUI 使用 Aria2 的强大功能。
Aria2 - 命令行 -http://aria2.sourceforge.net/
- 默认情况下,Aria2 建立 5 个连接,但可以使用“-j”参数进行调整。
- aria2c -j 10http://url.com/path/to/file.ext
uGet - 图形用户界面 -http://ugetdm.com
- 添加下载时,可以在 GUI 中调整多个连接。
更新:根据OP的批次需求
优捷支持通过 .txt、.html、剪贴板等多种方式批量下载。虽然它不是 CLI,但我认为它很好地解决了这个问题。我创建了视频教程为了解释各种方法,自这次录制以来,GUI 已经发生了变化,但功能仍然相关。
答案2
以上所有建议和链接的建议均不接受两个唯一的 URL。它们只接受同一文件的镜像 URL。
我发现了一些可以做到这一点的程序:
最好的是puf(apt-get install puf),使用puf url1 url2等。
然后是 HTTRACK,它需要大量的调整,并且有一些我无法突破的限制(速度和连接限制)
如果您不需要命令行应用程序,那么 Firefox 的 DownThemAll 非常好用。
更新
从那时起,我发现 puf 很容易崩溃。最好的解决方案是创建一个 .txt 文件,将 URL 放在新行上,例如
http://google.com/
http://yahoo.com/
保存为 urls.txt(例如)然后运行命令:
cat urls.txt | xargs -n 1 -P 10 wget -q
-n 指定从文件中选择每一行
-p 指定您想要并行下载的 URL 数量。