你有一个基本的蜘蛛,它运行来获取给定域上的所有链接。我想确保它保持其状态,以便它可以从它离开的地方恢复。我已经按照给定的网址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的新手,如果我需要发布任何更多信息,请告诉我。
答案 0 :(得分:2)
之所以发生这种情况,是因为蜘蛛进程突然被杀死了。
当我按下Ctrl + C时,蜘蛛没有正常关闭。现在,当爬虫第一次正常关闭时,它也会正常恢复。
所以基本上,请确保您看到抓取工具正确结束/关闭以便恢复。