如何使用加载的数据在ItemLoader中添加新值?

时间:2014-05-28 14:51:12

标签: python scrapy scrapy-spider

我已经开始了一个抓取项目,ItemLoader我遇到了一个小问题。

假设我在刮刀中有一些ItemLoader

l = ScraperProductLoader(item=ScraperProduct(), selector=node)
l.add_xpath('sku', 'id/text()')

我想根据我提供的sku为项目加载器添加一个URL:

l.add_value('url', '?????')

...但是,根据the documentation,我没有看到明确的方法来做到这一点。

我考虑的选项:

  • 输入处理器:添加一个字符串,并以某种方式传递sku
  • 单独处理:不使用项目加载器创建URL

如何使用加载的数据在ItemLoader中添加新值?

1 个答案:

答案 0 :(得分:2)

您可以使用get_output_value()方法:

  

get_output_value(field_name)

     

返回使用解析的收集值   输出处理器,用于给定字段。这种方法没有   根本填充或修改项目。

l.add_value('url', 'http://domain.com/' + l.get_output_value('scu'))