Python 如何使用加载的数据在ItemLoader中添加新值?
我启动了一个刮片项目,我在Python 如何使用加载的数据在ItemLoader中添加新值?,python,scrapy,scrapy-spider,Python,Scrapy,Scrapy Spider,我启动了一个刮片项目,我在ItemLoader上遇到了一个小问题 假设我在一个刮板中有一些ItemLoader: l = ScraperProductLoader(item=ScraperProduct(), selector=node) l.add_xpath('sku', 'id/text()') 我想根据我提供的sku向项目加载器添加URL: l.add_value('url', '?????') …然而,基于这一点,我看不到一个明确的方法来做到这一点 我考虑过的备选方案: 输入处理
ItemLoader
上遇到了一个小问题
假设我在一个刮板中有一些ItemLoader
:
l = ScraperProductLoader(item=ScraperProduct(), selector=node)
l.add_xpath('sku', 'id/text()')
我想根据我提供的sku
向项目加载器添加URL:
l.add_value('url', '?????')
…然而,基于这一点,我看不到一个明确的方法来做到这一点
我考虑过的备选方案:
- 输入处理器:添加一个字符串,并以某种方式将
作为上下文传递sku
- 单独处理:不使用项目加载器创建URL
项目加载器中添加新值?您可以使用以下方法:
获取输出值(字段名称)
返回使用
给定字段的输出处理器。这种方法不起作用
完全填充或修改项目
不知道我怎么会错过。谢谢:)
l.add_value('url', 'http://domain.com/' + l.get_output_value('scu'))