2017-10-16 64 views
-1

我试图下载每周添加到网站的最新文件。问题在于文件url有一些不是很复杂的散列,准确地说是10^5到10^6之间的数字。我已经写了一个简单的bash脚本来尝试所有的组合。这就是为什么我得到的错误参数列表太长。但99%的链接无效,所以也许有办法绕过这个。 这是我的脚本看起来像:wget参数列表的Bash脚本太长

#!/bin/bash 
for i in `seq 1 10`; 
do 
    fileno="0$i" 
    wget --continue --timestamping --directory-prefix=photos/ http://sampleurl.com/file$fileno.{99999..1000000}.jpeg 
done 
for i in `seq 10 25`; 
do 
    wget --continue --timestamping --directory-prefix=photos/ http://sampleurl.com/file$i.{99999..1000000}.jpeg 
done 
+4

哇。智能网站将会扼杀或阻止你的连接,成为非常非常糟糕的蜘蛛。 – jdv

+1

使用* lftp *,或在DOM中搜索文件。 – 0andriy

+0

另外,请注意,如果您想成为_less_讨厌的人,您可以使用wget向服务器询问上次修改时间。 – jdv

回答

0

您可以使用for循环:

for i in {99999..1000000}; do 
    wget ... 
done 

当然你也可以通过wget'ing多个文件不超过命令行长度的限制优化。