srapy多管道pipeline处理多个爬虫

srapy多管道pipeline处理多个爬虫

如果有多个爬虫的item需交给多个爬虫管道类处理,可用if isinstance()函数匹配,如果不匹配必须else 返回item,由其他管理管道类处理。

class BookPipeline(object):
   def process_item(self, item, spider):
        if isinstance(spider, BookSpiderSpider):
             #todo 
             return item
        else:
        	#**如果不是这个spider爬虫,必须返回item,交给其他爬虫类处理。**
            return item
 
class carPipeline(object):
    def process_item(self, item, spider):
        if isinstance(spider, CarSpiderSpider):
             #todo 
             return item
        else:
        	#**如果不是这个spider爬虫,必须返回item,交给其他爬虫类处理。**
            return item


看视频教程,没有else,所以管道类中获得到item,这个了整整两天。。。

发布了26 篇原创文章 · 获赞 1 · 访问量 1972

猜你喜欢

转载自blog.csdn.net/jiekaile/article/details/102869854