JsonLinesItemExporter 在每个字段中输出一个数组
JsonLinesItemExporter outputs an array in each field
我正在使用 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
还是有更好的方法?
您确定您使用的是正确配置的 ItemLoader 吗?
我建议使用 TakeFirst
(此处的文档:https://docs.scrapy.org/en/latest/topics/loaders.html)
用法示例:
class YourItemLoader(ItemLoader):
default_output_processor = TakeFirst()
我正在使用 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
还是有更好的方法?
您确定您使用的是正确配置的 ItemLoader 吗?
我建议使用 TakeFirst
(此处的文档:https://docs.scrapy.org/en/latest/topics/loaders.html)
用法示例:
class YourItemLoader(ItemLoader):
default_output_processor = TakeFirst()