Scrapy:项目和字段的默认值.什么是最好的实施?

Jab*_*abb 6 scrapy

据我所知,从网上的文档和各种讨论中可以看出,向scrapy项中的字段添加默认值的功能已被删除.

这不起作用

category = Field(default='null')
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:用默认值初始化字段的好方法是什么?

我已经尝试将其实现为此处建议的项目管道,但没有任何成功. https://groups.google.com/forum/?fromgroups=#!topic/scrapy-users/-v1p5W41VDQ

Jab*_*abb 3

找出问题所在。管道正在工作(代码如下供其他人参考)。我的问题是,我正在将值附加到字段中。我希望默认方法适用于这些列表值之一...选择了一种不同的方式并且它有效。我现在使用自定义 setDefault 处理器方法来实现它。

class DefaultItemPipeline(object):

def process_item(self, item, spider):
    item.setdefault('amz_VendorsShippingDurationFrom', 'default')
    item.setdefault('amz_VendorsShippingDurationTo', 'default')
    # ...
    return item
Run Code Online (Sandbox Code Playgroud)