使用wget批量下载两个范围

时间:2012-08-21 15:45:24

标签: curl download wget

我有一个PHP图片库,它有大约20000个照片文件。我想在我自己的服务器上备份图像,但这是我的问题;

http://photos.blabla.net/photo.php?g=XX&p=YY

XX是图库编号,YY是照片编号。使用错误的图库编号无法访问照片。所以我想创建一个批量下载,例如。;

http://photos.blabla.net/photo.php?g=[1:2000]&p=[1:20000]

如何在shell帐户中使用wget或curl或任何其他方式完成此操作。或者甚至任何Windows解决方法都将受到赞赏。

非常感谢。

2 个答案:

答案 0 :(得分:3)

单独使用wget无法做到这一点。

在几行Python中将它作为子进程运行可以解决问题(理论上):

import subprocess

g=1
p=1

while g <= 2000:
    while p <= 20000:
        subprocess.Popen(['wget', '-A jpg', 'http://photos.blabla.net/photo.php?g='+g+'&p='+p+''])
        p = p+1
    g = g+1
    p = 1

答案 1 :(得分:0)

Python脚本总是很好。但是如果您不想编写额外的脚本,请在bash中使用单行命令:

for g in {1..2000}; do for p in {1..20000}; do wget http://photos.blabla.net/photo.php?g=$g&p=$p; done done