我在极光代理网站看到的这一篇-----》链接
Scrapy的每一个爬虫,暂停时能够记录暂停状态和爬取的URL,重启时能从暂停状态开始爬取过的URL不在爬取
怎么实现暂停与重启记录状态
措施一:
1、第一步cd进入到scrapy项目里
2、在scrapy项目中新建存储记录信息的文件夹
3、执行命令:
scrapy crawl 爬虫名称 -s JOBDIR=保存记录信息的路径
如:scrapy crawl cnblogs -s JOBDIR=zant/001
执行命令后启动指定爬虫,且记录状态到指定目录
爬虫现已运行,能按键盘上的Ctrl+C停止爬虫,停止后再看看记录文件夹,会多出3个文件,其中的requests.queue文件夹里的p0文件就是url记录文件,有该文件就表示还有没有完成的url,在全部url完成后会自动删除该文件
再重新执行命令:scrapy crawl cnblogs -s JOBDIR=zant/001 时爬虫会按照p0文件从停止的地方开始再次爬取。
措施二:
在settings.py文件里加入下面的代码:
JOBDIR=‘sharejs.com’
使用命令scrapy crawl somespider,就会自动生成一个sharejs.com的目录,然后将工作列表放到这个文件夹里