【问题标题】:Scrapy with a nested arrayScrapy 嵌套数组
【发布时间】:2013-03-08 14:37:08
【问题描述】:

我是 scrapy 的新手,想了解如何抓取对象以输出到嵌套 JSON。现在,我正在生成类似于

的 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()

【问题讨论】:

    标签: python json web-scraping scrapy nested


    【解决方案1】:

    您需要先创建垃圾字典,然后再将项目存储在其中。

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

    【讨论】:

      猜你喜欢
      • 2017-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多