JsonLinesItemExporter在每个字段中输出一个数组

时间:2019-06-20 13:19:07

标签: scrapy jsonlines

我正在使用JsonLinesItemExporter导出一些数据,而不是

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

scrapy正在将以下内容写入文件:

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

(通过调试)似乎我传递的是正确的值(而不是列表),并且item.add_valueitem.replace_value都用一个字符串元素列表替换了我的字符串。

这是可配置的吗? 如果没有,如何获得不同的行为?扩展JsonLinesItemExporter还是有更好的方法?

1 个答案:

答案 0 :(得分:2)

确定要使用正确配置的ItemLoader吗? 我建议使用TakeFirst(此处的文档:https://docs.scrapy.org/en/latest/topics/loaders.html

用法示例:

class YourItemLoader(ItemLoader):
    default_output_processor = TakeFirst()