1

编辑

dict正如 Georgiy 所建议的那样,我尝试放弃,Item结果是一样的。

编辑结束

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

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

问题是 Scrapyname只渲染。原因可能是那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"}
]

你知道如何让它工作吗?

4

1 回答 1

1

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

    yield {
           'name': 'Peter',
           'attrs':{'attr1': 'val1','attr2': 'val2'}
          }
于 2021-06-04T14:40:53.217 回答