Scrapy同时启动多个爬虫

2019-04-26  本文已影响0人  宇宙有只AGI

一、方法

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. 即便指纹不丢失,也可能会出现数据丢失的情况

上一篇 下一篇

猜你喜欢

热点阅读