如何在移动地址处忘记文件?

时间:2012-09-09 03:18:28

标签: bash wget

我正在尝试从网站下载PDF文件,我知道该文件的名称,例如 foo.pdf ,但它的位置每隔几周就会发生变化:

e.g。 的 www.server.com/media/123456/foo.pdf 改变成 的 www.server.com/media/245415/foo.pdf

这个数字总是六位数字,所以我尝试使用bash脚本来浏览所有1000万个数字,但这显然需要花费很多时间:

i=0
until [ "$RC" == "0" ] || [ $i == 1000000 ]
do
  b=$(printf %06d $i)
  wget -q http://www.server.com/media/${b}/foo.pdf -O bar.pdf
  export RC=$?
  i=$(($i + 1))
done

对于错误的地址,我只会收到404错误 我在当前正确的地址周围进行了测试,结果正常。

有谁知道更快的方法来解决这个问题?

2 个答案:

答案 0 :(得分:2)

如果该页面在其他任何地方链接,那么您可以从那里获取链接,然后获取该文件。如果不是,那你可能运气不好。

请注意,大多数服务器会考虑尝试滥用网络服务器1,000,000次,并且甚至会尝试禁用您的IP。

答案 1 :(得分:0)

不时遵循这些值,并确定它们是否算法。正如zigdon所说,如果你有链接的来源,只需先忘记,然后点击链接到PDF。