JsonLinesItemExporter выводит массив в каждом поле - PullRequest
0 голосов
/ 20 июня 2019

Я использую JsonLinesItemExporter для экспорта некоторых данных и вместо

{"name": "Color TV", "price": "1200"}
{"name": "DVD player", "price": "200"}

scrapy пишет следующее в файл:

{"name": ["Color TV"], "price": ["1200"]}
{"name": ["DVD player"], "price": ["200"]}

(из отладки) кажется, что япередача правильного значения (не списка) и то, что и item.add_value, и item.replace_value заменяют мои строки одним списком строковых элементов.

Это настраивается?Если нет, как получить другое поведение?Продлить JsonLinesItemExporter или есть лучший подход?

1 Ответ

2 голосов
/ 20 июня 2019

Вы уверены, что используете правильно настроенный ItemLoader? Я рекомендую использовать TakeFirst (документация здесь: https://docs.scrapy.org/en/latest/topics/loaders.html)

Пример использования:

class YourItemLoader(ItemLoader):
    default_output_processor = TakeFirst()
...