Scrapy蜘蛛不存储状态(持久状态)

时间:2016-08-29 17:04:06

标签: python scrapy

你有一个基本的蜘蛛,它运行来获取给定域上的所有链接。我想确保它保持其状态,以便它可以从它离开的地方恢复。我已经按照给定的网址http://doc.scrapy.org/en/latest/topics/jobs.html。但是当我第一次尝试它时它运行正常并且我用Ctrl + C结束它并且当我尝试恢复它时,爬行停止在第一个URL本身。

以下是结束时的日志:

from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from Something.items import SomethingItem

class maxSpider(CrawlSpider):
  name = 'something'
  allowed_domains = ['thecheckeredflag.com', 'inautonews.com']
  start_urls = ['http://www.thecheckeredflag.com/', 'http://www.inautonews.com/']

  rules = (Rule(LinkExtractor(allow=()), callback='parse_obj', follow=True),)


  def parse_obj(self,response):

    for link in LinkExtractor(allow=self.allowed_domains,deny =() ).extract_links(response):
        item = SomethingItem()
        item['url'] = link.url
        yield item
        #print item

这是我的蜘蛛:

{{1}}

Scrapy版本:Scrapy 1.1.2

Python版本:2.7

我是scrapy的新手,如果我需要发布任何更多信息,请告诉我。

1 个答案:

答案 0 :(得分:2)

之所以发生这种情况,是因为蜘蛛进程突然被杀死了。

当我按下Ctrl + C时,蜘蛛没有正常关闭。现在,当爬虫第一次正常关闭时,它也会正常恢复。

所以基本上,请确保您看到抓取工具正确结束/关闭以便恢复。