在 Scrapy 上更改图像管道的 CSV 结果

Change CSV result of Image Pipeline on Scrapy

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

我猜你会得到这样的结果

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

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

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']])