如何重命名scrapy下载的图像

时间:2014-11-11 09:37:26

标签: python web-scraping scrapy

我正在从单个页面下载多个图像,我想将它们重命名为"1.jpg""2.jpg"等仅表示数字。为此,我还有关于这个主题的各种其他问题。每个人都说改变file_path方法我也能这样做但现在问题是它覆盖了前一个图像因为同名。

我不知道增加计数的任何其他方法。只有静态计数方式,但在这种情况下,它无法删除任何图像。

我的代码是:

count1 = '1' # change to request.url after deprecation
return 'full/%s.jpg' % (count1)

1 个答案:

答案 0 :(得分:0)

由于文件名在目录中必须是唯一的,因此我建议您根据从中删除图像的URL创建新目录。

然后,对图像进行编号就像保存目前已下载图像数量的计数器一样简单:

counter = 1
img_sources = sel.xpath("//img/@src").extract()
for img_source in img_sources:
    download_image(img_source, os.path.join(url, "%d.jpg" % (counter)))
    counter += 1