带有嵌套数组的Scrapy

2024-05-23 20:07:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我是scrapy新手,想了解如何在对象上进行scrape,以便输出到嵌套的JSON。现在,我正在生成看起来像

[
{'a' : 1, 
'b' : '2',
'c' : 3},
]

我更喜欢这样:

[
{ 'a' : '1',
'_junk' : [
     'b' : 2,
     'c' : 3]},
]

——我把一些东西放在_junk子字段中,以便以后进行后期处理。

我的scrapername.py中解析器定义文件下的当前代码是。。。

item['a'] = x
item['b'] = y
item['c'] = z

好像是

item['a'] = x
item['_junk']['b'] = y
item['_junk']['c'] = z

---可能会解决这个问题,但是我得到了一个关于_junk键的错误:

  File "/usr/local/lib/python2.7/dist-packages/scrapy/item.py", line 49, in __getitem__
    return self._values[key]
exceptions.KeyError: '_junk'

这是否意味着我需要以某种方式改变我的items.py?目前我有:

class Website(Item):
    a = Field()
    _junk = Field()
    b = Field()
    c = Field()

Tags: 文件对象代码pyjson解析器field定义