scrapy的每一个爬虫暂停时可以记录暂停状态以及爬取了哪些url,重启时可以从暂停状态开始爬取过的URL不在爬取

实现暂停与重启记录状态

1、首先cd进入到scrapy项目里

2、在scrapy项目里创建保存记录信息的文件夹

三十二  Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy的暂停与重启

3、执行命令:

  scrapy crawl 爬虫名称 -s JOBDIR=保存记录信息的路径

  如:scrapy crawl cnblogs -s JOBDIR=zant/001

  执行命令会启动指定爬虫,并且记录状态到指定目录

三十二  Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy的暂停与重启

爬虫已经启动,我们可以按键盘上的ctrl+c停止爬虫

 

停止后我们看一下记录文件夹,会多出3个文件

三十二  Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy的暂停与重启

其中的requests.queue文件夹里的p0文件就是URL记录文件,这个文件存在就说明还有未完成的URL,当所有URL完成后会自动删除此文件

当我们重新执行命令:scrapy crawl cnblogs -s JOBDIR=zant/001  时爬虫会根据p0文件从停止的地方开始继续爬取,