当一个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
的。