在pipelines通道中可以对不同来源的数据进行处理和保存,方法如下:
1、在settings中找到如下代码段并进行修改
# Configure item pipelines
# See https://docs.scrapy.org/en/latest/topics/item-pipeline.html
#取消下面注释开启PIPELIN通道,
#ITEM_PIPELINES = {
#数字300代表优先级,数字越小越先调用
# 'myFistScrapy.pipelines.MyfistscrapyPipeline': 300,
#可以自定义修改MyfistscrapyPipeline类,实现对不同网站的处理,注意类的函数名不能改
# 'myFistScrapy.pipelines.MyfistscrapyPipeline_my': 200,
#}
2、修改 pipelines.py
class MyfistscrapyPipeline:
def process_item(self, item, spider):
'''
使用spider.name属性判断来源于那个爬虫,以便于对不同爬虫进行不同处理
if spider.name == 'baidu(项目名)'
'''
return item
'''
------自定义修改类名-------
class MyfistscrapyPipeline_my:#类名要与settings.py文件中相对应
def process_item(self, item, spider):#类名可以改,函数名不能改
if spider.name == 'baidu(项目名':
#进行数据处理和保存
pass
return item #返回值不能省略,负责后续处理函数收不到数据
'''