任何带选项的命令/ wget?
对于多线程下载网站递归并同时?
答案 0 :(得分:10)
我找到了一个不错的解决方案。
在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左右。但是,这个数字是 仅限于两端的CPU和网络带宽。
答案 1 :(得分:5)
使用xargs开关使用并行wget,这个解决方案看起来好多了:
答案 2 :(得分:3)
使用axel
下载多连接
apt-get install axel
axel http://example.com/file.zip
答案 3 :(得分:2)
那么,你总是可以运行wget
的多个实例,不是吗?
示例:
wget -r http://somesite.example.org/ &
wget -r http://othersite.example.net/ &
等。此语法适用于任何类Unix环境(例如Linux或MacOS);不确定如何在Windows中执行此操作。
Wget本身不支持多线程操作 - 至少,manpage和its website都没有提到这一点。无论如何,由于wget支持HTTP keepalive,因此瓶颈通常是连接的带宽,而不是同时下载的数量。