问题描述:
今天遇到在远程服务器上,os 批量启动时存在启动不了的情况,
问题解决:
批量启动有好多种方式,但是我个人主要用的有两个,
当第一个无法启动时,测试第二种启动方式 ,可以正常启动;
"""
批量启动
"""
# ------------------- 第一种 ----------------------------------------
import os
os.system("scrapy crawl Nj")
os.system("scrapy crawl Yanc")
os.system("scrapy crawl Hzs")
简单做个记录吧。
第二种,是调用scrapy 系统自带的方式,
为了让同一个 Scrapy 项目下面的多个爬虫实现真正的同时运行,我们可以使用 Scrapy 的CrawlerProcess。
它的用法如下:
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
settings = get_project_settings()
crawler = CrawlerProcess(settings)
crawler.crawl('爬虫名1')
crawler.crawl('爬虫名2')
crawler.crawl('爬虫名3')
crawler.start()
使用这种方法,可以在同一个进程里面跑多个爬虫。
# -------------------- 第二种 ------------------------------------
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
settings = get_project_settings()
crawler = CrawlerProcess(settings)
crawler.crawl('Nj')
crawler.crawl('Yanc')
crawler.crawl('Hzs')
crawler.start()
两种方式都可以实现,scrapy 多个项目的批量启动;