如何从scrapy项目获得一个词典?

use*_*109 5 python dictionary scrapy

我需要dict中的值.但是item在它上面使用了一些抽象.如何从项目中获取字典中的字段?

我知道scrapy允许dict现在返回代替项目.但是我已经在我的代码中使用了item,所以如何转换它.

Rob*_*kal 7

它看起来像我:

class Product(scrapy.Item):
    name = scrapy.Field()


i = Product(name='foo)
print dict(i)
Run Code Online (Sandbox Code Playgroud)

给你一本字典{'name':'foo'}

vars(p)
p.__dict__
Run Code Online (Sandbox Code Playgroud)

得到你:{'_ value':{'name':'foo'}}

如果您不想创建新词典,只需从上面获取_values键:

vars(p)['_values']
p.__dict__['_values']
Run Code Online (Sandbox Code Playgroud)