Scrapy 多个item对应一个pipeline
背景
在利用Scrapy编写爬虫时,经常会遇到同一个爬虫中包含多个item classes, 并且需要在同一个pipelines.py
中根据不同的item classes进行逻辑的处理。
需求: 数据需要同时发送到ElasticSearch以及Redis, 唯一的区别就是item classes,不同。发送到Redis的数据是标准化之后的数据, 发送到ElasticSearch是原始的数据。
解决方法: 这里可以通过isinstance
来进行区分。
实现
1 | # -*- coding: utf-8 -*- |