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

)