scrapy spider01中调用spider02时,spider02的return item算是哪个spider的?

两个spider结构大致如下,item是同一个类:

import spider02
class spider01(scrapy.spider):
#.....
    def parse(self, response):
    s2 = spider()
    #......
    
        yield item
    yield Request(url, meta{‘item’:item}, callback=s2.parse)
    
    #......
    yield item

————————————————————

class spider02(scrapy.spider):
#......
    def parse(self, response):
        #......
        item = response.meta['item]
        #......
        
            item['new'] = xxxx
            yield item
    

在pipeline中:

  1. 使用if spider.name:判断,进行分别操作时不报错,但写入spider02的item只是spider01传过来的item,新获得的item['new']没有写入。
  1. 使用if item['new']:来判断时,可以写入spider02完整的item

所以是不是因为scrapy 启动的是spider01,所以被spider01调用的其他类中返回的item也被归到了spider01身上?

阅读 2.5k
1 个回答
新手上路,请多包涵

我想问:一个class spider里面的def之间怎么调用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题