1.设置断点续爬:
在定时启动和关闭前,需要先设置断点续爬,将关闭前的数据保存,防止再次启动时新建一个run.py文件
from scrapy import cmdlinecmdline.execute("scrapy crawl douluo -s JOBDIR=crawls".split())
12
这样爬虫在正常结束时,会新建一个cralws文件夹,并将进度保存在里面
2.设置关闭时间
在启动时添加CLOSESPIDER_TIMEOUT=秒数即可将爬虫设置成多少秒后自动停止运行
from scrapy import cmdlinecmdline.execute("scrapy crawl douluo -s CLOSESPIDER_TIMEOUT=3 -s JOBDIR=crawls".split())
12
这样,run.py文件就被编辑好了,用于运行scrapy爬虫
3.新建一个runs.py,用于将run文件放入循环中
若直接在run.py中将cmdline.execute放入循环,程序在cmd结束后就结束了,并不会循环,因此新建一个py文件,用于将启动cmd放入循环,这样每次爬取结束后程序都不会结束具体代码如下:
import os import time while True: os.system('run.py') time.sleep(5)
12345
这样,我们就将scrapy设置成了启动后3s自动停止,停止后5s自动启动,并且拥有断点续爬的功能
import
os
import
time
while
True
:
os
.
system
(
'run.py'
)
time
.
sleep
(
5
)
暂无评论