码迷,mamicode.com
首页 > Web开发 > 详细

scrapy暂停和重启,及url去重原理

时间:2018-10-11 16:57:35      阅读:739      评论:0      收藏:0      [点我收藏+]

标签:中间   inf   还需   raw   pyc   margin   spl   执行   request   

一.scrapy暂停与重启

  1.要暂停,就要保留一些中间信息,以便重启读取中间信息并从当前位置继续爬取,则需要一个目录存放中间信息:

    scrapy crawl spider_name -s JOBDIR=dir/001——spider_name是你要爬取得spider的py文件名,JOBDIR是命令参数,即代表存放位置参数,dir是中间信息要保存的目录,001新生成的文件夹名是保存的中间信息,重启则读取该文件信息。可以将JOBDIR 设置在setting中,或写在custom_settings中,在Pycharm中都会执行,但是在Pycharm中无法发送ctrl+c,即无法将进程放入后台并暂停。

  2.执行命令:scrapy crawl jobbole -s JOBDIR=jobs/001

    2.1有可能会报以下错误,这是因为未进入到项目目录(crawl会搜索scrapy.cfg文件):

技术分享图片

    2.2进入目录正常运行后,ctrl+c暂停进程:

     会在jobs下生成一个001文件夹生成如下图文件,request.seen是保存的已经访问了的url,spider.state是spider的状态信息,request.queue中有active.json和p0两个文件,p0是还需要继续做的request(跑完该文件就没有了)

 

技术分享图片

技术分享图片

  3.重启(也是执行scrapy crawl jobbole -s JOBDIR=jobs/001):

    会读取相关信息并继续执行,p0文件会减小,request.seen文件会增大(读取新的request,存入url),两次ctrl+c强制关掉,若需从新爬则可以指定新的文件夹,如jobs/002.

二.scrapy去重原理

  1.

 

 

 

 

scrapy暂停和重启,及url去重原理

标签:中间   inf   还需   raw   pyc   margin   spl   执行   request   

原文地址:https://www.cnblogs.com/lyq-biu/p/9773006.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!