Изменить CSV-результат Image Pipeline на Scrapy - PullRequest
0 голосов
/ 26 октября 2018

Я использую конвейер Scrapy Images по умолчанию и экспортирую свои данные в формате CSV.Последнее поле автоматически заполняется массивом, содержащим исходный URL, локальный путь и контрольную сумму.Однако мне нужно иметь только строку, содержащую локальный путь.Как я могу это сделать?

1 Ответ

0 голосов
/ 26 октября 2018

Полагаю, вы получаете результаты, такие как

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