有的爬虫程序跑完花费的时间特别长,可能几个月甚至更久。 暂停然后继续爬的需求油然而生。 Scrapy已经自带了这个功能。

在抓取网站时,暂停爬虫并于稍后恢复而不是重新开始,有时会很有用。比如,软件更新后重启计算机,或是要爬取的网站出 现错误需要稍后继续爬取时,都可能会中断爬虫。非常方便的是,Scrapy内置了对暂停与恢复爬取的支持。要开启该功能,我们只需要定义用于保存爬虫当前状态目录的JOBDIR设置即可。需要注意的是,多个爬虫的状态需要保存在不同的目录当中。

使用job功能,设置Job directory即可。官方文档链接

scrapy crawl top250 -s JOBDIR=tmp

tmp是当前目录名,记录工作状态的目录,设置之后Ctrl+C暂停,过一会会自动停下。要继续爬,只需执行相同的命令即可恢复。