scrapy 多爬虫顺序执行

scrapy可以在spiders目录下建立多个爬虫文件,常用的启动方式:

方法一


在包含 scrapy.cfg 的目录下, 启动命令为:

scrapy  crawl yourspidername

  

方法二


调用cmdline模块来启动scrapy

在与settings.py文件同级的目录下新建执行文件, 如 run.py  。 以下有两种写法:

from  scrapy  import cmdline

cmdline.execute('scrapy crawl yourspidername'.split())
from scrapy.cmdline import execute
 
execute(['scrapy','crawl','yourspidername'])

以上只能同时执行一个爬虫,

下面是可以顺序执行多个scrapy爬虫的方法。

方法三


引入系统os模块,该方法爬虫会顺序执行一遍后结束退出。

import os
os.system("scrapy crawl yourspidername_1") 
os.system("scrapy crawl yourspidername_2")
os.system("scrapy crawl yourspidername_3")

启动方式:

python  run.py  直接执行该python文件,下同

也可以让爬虫不间断的顺序循环执行,设置每个爬虫的执行时间,CLOSESPIDER_TIME=3600 表示3600秒之后强制停止该爬虫。 时间随需要自己定义。

import os

while True:
    os.system("scrapy crawl yourspidername_1 -s CLOSESPIDER_TIMEOUT=3600") 
    os.system("scrapy crawl yourspidername_2 -s CLOSESPIDER_TIMEOUT=7200")  
    os.system("scrapy crawl yourspidername_3 -s CLOSESPIDER_TIMEOUT=3600") 

 

猜你喜欢

转载自www.cnblogs.com/haitianzhimen/p/10123821.html
今日推荐