Urllib并将多个网址保存到不同的文件名

时间:2014-12-06 20:26:51

标签: python python-2.7 urllib

我试过搜索urllib文档,learnpython subreddit和这里。也许我正在搜索不相关的关键字。

我希望将多个url图像下载到同一目录,尽管文件名不同。我怎么能实现这个目标?提供适当的摘录。谢谢你的时间!

def downloaddata():

    urls = ["url1.gif","url2.gif", "url3.gif","url4.gif"]
    filepaths = ["samepath/1.gif","samepath/2.gif","samepath/3.gif","samepath/4.gif"]

    for url in urls:
        try:
            image = urllib.URLopener()
            image.retrieve(url, filepaths)
            break
        except ValueError:
            pass

1 个答案:

答案 0 :(得分:1)

您可以使用enumerate

for i,url in enumerate(urls):
    try:
        image = urllib.URLopener()
        image.retrieve(url, filepaths[i])
    except ValueError:
        pass

你还需要从try块中删除break,如果你想下载所有图像,由于它会在一次执行后出现循环

demo:enumerate给出索引和元素

>>> a = ['a','b','c','d']
>>> for i,x in enumerate(a):
...     print(i,x)
... 
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')