Mit*_*ops 5 python json nested scrapy web-scraping
我是scrapy的新手,想了解如何抓取对象输出到嵌套的JSON中.现在,我正在制作看起来像的JSON
[
{'a' : 1,
'b' : '2',
'c' : 3},
]
Run Code Online (Sandbox Code Playgroud)
而且我更喜欢这样:
[
{ 'a' : '1',
'_junk' : [
'b' : 2,
'c' : 3]},
]
Run Code Online (Sandbox Code Playgroud)
---我把一些东西放在_junk
子场中后来进行后期处理.
我的解析器定义文件下的当前代码scrapername.py
是......
item['a'] = x
item['b'] = y
item['c'] = z
Run Code Online (Sandbox Code Playgroud)
它看起来像
item['a'] = x
item['_junk']['b'] = y
item['_junk']['c'] = z
Run Code Online (Sandbox Code Playgroud)
---可能会解决这个问题,但我收到关于_junk
密钥的错误:
File "/usr/local/lib/python2.7/dist-packages/scrapy/item.py", line 49, in __getitem__
return self._values[key]
exceptions.KeyError: '_junk'
Run Code Online (Sandbox Code Playgroud)
这是否意味着我需要改变我的items.py
方式?目前我有:
class Website(Item):
a = Field()
_junk = Field()
b = Field()
c = Field()
Run Code Online (Sandbox Code Playgroud)
您需要在将项目存储到其中之前创建垃圾字典.
item['a'] = x
item['_junk'] = {}
item['_junk']['b'] = y
item['_junk']['c'] = z
Run Code Online (Sandbox Code Playgroud)