我正在使用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
还是有更好的方法?
答案 0 :(得分:2)
确定要使用正确配置的ItemLoader吗?
我建议使用TakeFirst
(此处的文档:https://docs.scrapy.org/en/latest/topics/loaders.html)
用法示例:
class YourItemLoader(ItemLoader):
default_output_processor = TakeFirst()