首页 > 解决方案 > 在 Scrapy 上更改图像管道的 CSV 结果

问题描述

我正在使用默认的 Scrapy Images Pipeline,并将我的数据导出为 CSV。最后一个字段自动填充包含原始 url、本地路径和校验和的数组。但是,我只需要一个包含本地路径的字符串。我怎样才能做到这一点?

标签: scrapyscrapy-pipeline

解决方案


我猜你得到的结果是

item["images"] = [
  {'checksum': '2b00042f7481c7b056c4b410d28f33cf',
   'path': 'full/0a79c461a4062ac383dc4fade7bc09f1384a3910.jpg',
   'url': 'http://www.example.com/files/product1.pdf'}]

在您process_item()的 Pipeline 方法中,执行此操作

def process_item(self, item, spider):

    images = item["images"]
    del item["images"]

    item['path'] = []
    for k,v in images.iteritems():
        item['path'].extend([v['path']])

推荐阅读