scrapy 爬虫怎么在程序里把爬虫停止
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy 爬虫怎么在程序里把爬虫停止相关的知识,希望对你有一定的参考价值。
参考技术A self.crawler.engine.close_spider(self, '关闭爬虫') 参考技术B def __init__(self, crawler):self.crawler = crawler
@classmethod
def from_crawler(cls, crawler):
return cls(crawler)
# 结束爬虫
self.crawler.engine.close_spider(spider, 'closespider')
上面是实现原理,实际上 scrapy.Spider 已经拥有了 crawler 属性,不必再像上面这样写。
在spider中可直接写:
self.crawler.engine.close_spider(self, 'closespider')在 pipeline 和 中间件Middlewares 中:
spider.crawler.engine.close_spider(spider, 'closespider') 参考技术C Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。
Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。本回答被提问者采纳
爬虫日记(73):Scrapy程序运行入口点分析
前面分析了怎么样产生scrapy.exe程序,然后通过它就会调用下一个模块,就是cmdline.py文件,它是位于目录scrapy里面,如下图:
我们可以通过修改这个文件来验证一下是否最开始调用这个文件运行,找到execute函数的位置,添加下面的代码:
然后我们到终端窗口里运行爬虫的命令:
scrapy crawl quotes
这时就可以看到输出如下:
以上是关于scrapy 爬虫怎么在程序里把爬虫停止的主要内容,如果未能解决你的问题,请参考以下文章
解决 Scrapy-Redis 空跑问题,链接跑完后自动关闭爬虫