多线程 HTTP 下载器

多线程 HTTP 下载器

我正在寻找一个可以使用多个线程下载多个 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/

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 数量。

相关内容