一、方法
1、通过CrawlerProcess
"""
from scrapy.crawlerimport CrawlerProcess
from scrapy.utils.projectimport get_project_settings
def run_process_spiders(spider_list=None):
process = CrawlerProcess(get_project_settings())
for spider in spider_list:
process.crawl(spider)
process.start()
"""
二、参考资料
1、在同一个进程中运行多个蜘蛛(官方,使用中)
https://docs.scrapy.org/en/latest/topics/practices.html#run-from-script
2、scrapy启动多爬虫(简书,测试可用)
https://www.jianshu.com/p/03a68cbacf92
三、思考
1、不使用scrapy-redis的原因
a. 启动后好像是按顺序执行的(即一个个执行爬虫,速度变慢)
b. redis内存吃不消(两个就满了)
c. 服务器重启后等一些意外情况,会导致redis重启,保存的request指纹丢失
d. 即便指纹不丢失,也可能会出现数据丢失的情况