当一个Scrapy项目中有多个spider去爬取多个网站时,往往需要多个pipeline,这时就需要为每个spider指定其对应的pipeline。
[通过程序来运行spider],可以通过修改配置settings的ITEM_PIPELINES只有1个当前运行的spider的pipeline,然后加载配置并运行spider:
settings = get_project_settings()
settings.set('ITEM_PIPELINES', {'MyPipeline':1}, 20)
runner = CrawlerRunner(settings)
我是通过命令行来获得当前要运行的spider,然后通过建立的spider与pipeline的字典来找到对应的pipeline的。