Wget like utility可以在mysite.com/img/目录下载所有图像
我对mysite.com/img/目录的访问被阻止。
但是,该目录中的所有图像都是n.jpg
forms,其中n是第n个图像。
我对mysite.com/img/n.jpg
访问权限未被阻止
无论如何,我保存图像1-500( mysite.com/img/1.jpg
到mysite.com/img/500.jpg
)?
我正在使用ubuntu 11.10
最简单的解决方案可能是使用bash大括号扩展
wget http://mysite.com/img/{1..500}.jpg
还可以选择循环,允许您在每个请求之间进行一些等待。
for n in $(seq 1 500); do wget http://mysite.com/img/${n}.jpg sleep 0.1 done
(以上内容可直接在shell中运行。)
还有另一种方法可以使用wget
成功完成此操作,我已成功用于一个站点,您应该能够修改下面的其他站点的说明。 它涉及生成一个url列表,然后将该列表提供给wget
。
1)例如,假设您要下载Full Circle Magazine (Ubuntu杂志)的所有63种pdf杂志,但您的下载管理员无法一次下载所有这些杂志。 因此,找到第一个pdf文件的链接 ,并快速检查其他杂志链接是否采用相同的url格式。
2)利用第1部分中获得的知识,我们现在可以转到我们的脚本来生成URL。 下面的脚本运行一个until循环,我已经修改过(归功于它的发起者)。 您可以通过将杂志的数量放在until [ $i = 63 ]
部分并在echo
后放置正确的URL来确定此脚本,并确保"$i"
位于要回显的URL的正确部分,以便更改每次循环运行。 生成URL然后将其附加到文本文件中 – 这在脚本运行时会在瞬间发生,并且设置起来并不像听起来那么复杂!
将脚本保存在文本编辑器中,使其可执行并运行; 当您想要从与我的示例不同的站点下载时,如上所述修改它。
#!/bin/bash i=0 until [ $i = 63 ] ; do i=$(($i+1)) echo "http://dl.fullcirclemagazine.org/issue"$i"_en.pdf" >> url.txt done
3)最后,假设url.txt
在当前工作目录中,运行:
wget -i url.txt
如果你想在其他地方保存下载,请在url.txt
之后添加-P ~/MyDirectory
它确实有效 – 如果您尝试它,如果您不想全部下载,请输入ctrl c
中止!