刮擦 - 将嵌套字典生成为 JSON 文件 - 不起作用



编辑

正如Georgy所建议的,我试图产生dict而不是Item,结果是相同的。

编辑结束

正在尝试将Scrapy输出导出到JSON文件。项目应具有以下格式:

{'name':'Peter', 'attrs':{'attr1':<VAL>, 'attr2':<VAL>}}

问题是Scrapy只渲染name。原因可能是attrs是一本字典。

class CookieBotItem(scrapy.Item):
name = scrapy.Field()
attrs = scrapy.Field()

为了简单起见,我总是这样返回:

yield CookieBotItem(name='Peter',
attrs={
'attr1': 'val1',
'attr2': 'val2'}
)

输出看起来是这样的:

[
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"},
{"name": "Peter"}
]

你知道怎么做吗?

不确定此处Item类的用法。。嵌套项
实现这一点的最快方法是使用yield字典(而不是Item类对象(:

yield {
'name': 'Peter',
'attrs':{'attr1': 'val1','attr2': 'val2'}
}

相关内容

  • 没有找到相关文章

最新更新