Scrapy - 存档并压缩所有下载的图像

时间:2015-07-23 17:41:56

标签: python web-scraping scrapy

我正在使用Scrapy从大型在线数据库下载图像。我使用过ImagesPipeline

ITEM_PIPELINES = {'scrapy.contrib.pipeline.images.ImagesPipeline': 1}
IMAGES_STORE = './images'

它就像一个魅力!

问题:我在images文件夹(> 100000)中有批次的图片。我想知道是否有办法更好地处理该卷:

  • 下载新图像后,将其附加到存档,并在完成爬网后压缩存档。

  • 下载了大量图像(例如1000张)后,将这些图像存储在自己的新文件夹中。

  • 上述两个选项的组合(例如,~1000的批量存档文件)。

这个想法真的是让操作,移动,编辑,索引,搜索下载的数据变得更加容易。

1 个答案:

答案 0 :(得分:0)

您可以将自己的扩展名写入ImagesPipeline,因此我建议您按照自己的意愿执行此操作并实施解决方案。

您可以从计算导出的图像开始,然后创建一个新的子文件夹,在每1000个(或设置)之后下载到该文件夹​​然后压缩它,或者例如在创建新文件夹后生成一个新进程,该进程创建一个存档旧文件夹的内容。

您可以阅读有关在docs中扩展管道的更多信息。