scrapy的暂停与重启
创建爬虫项目: scrapy startproject fileSpider 进入项目后,查看爬虫项目下拥有的爬虫模板 cd fileSpider scrapy genspider -l 创建一个CrawlSpider爬虫: scrapy genspider -t crawl weisuen sohu.com
转载:https://www.jianshu.com/p/a72e31b3a0f7
在爬取大型站点的时候,或遇到某些特殊情况的时候,往往需要赞同爬虫,并稍后再接着之前执行到的位置继续爬取,而不是每次出问题都从头开始。
scrapy的暂停与重启的设置很简单:
1.创建工作目录
- 在当前项目下,创建工作目录(文件夹),命名如:crawls
- 不同的spider是不能用同一个目录的。
该工作目录是用来保存运行中的爬虫的必须数据,以保持作业状态的。
2.用以下命令启动爬虫
scrapy crawl somespider -s JOBDIR=crawls/somespider-1
上述命令中:
somespider
: 启动的爬虫名
crawls/somespider-1
:你创建的工作目录+爬虫序号
后面的somespider-1是用来区分不同的爬虫的,因为官方文档提到了:
要启用持久性支持,您只需通过JOBDIR设置定义作业目录。该目录将用于存储所有必需的数据以保持单个作业的状态(即蜘蛛运行)。重要的是要注意,此目录不能由不同的蜘蛛共享,甚至不能由同一个蜘蛛的不同作业/运行共享,因为它意味着用于存储单个作业的状态
3.暂停爬虫
以上两步,爬虫便可以能暂停的状态运行,当你需要暂停的时候,只需在运行窗口发送暂停命令即可:
ctrl + c
tips:
- 只能按一次该命令,按两次的话爬虫会被强制退出。
- 爬虫程序不会立刻暂停,它需要处理完已经发送出的请求完成善后工作,需要耐心等待一会儿。
4.暂停后的重启
输入与启动相同的命令即可:
scrapy crawl somespider -s JOBDIR=crawls/somespider-1
然后爬虫就会接着上一次暂停后的位置继续运行。
官方文档地址传送:https://docs.scrapy.org/en/latest/topics/jobs.html
完。
作者:越大大雨天
链接:https://www.jianshu.com/p/a72e31b3a0f7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。