爬虫日记(84):Scrapy的Crawler类

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫日记(84):Scrapy的Crawler类相关的知识,希望对你有一定的参考价值。

Crawler类是一个爬虫类,主要用来管理整个执行引擎ExecutionEngine类和蜘蛛类实例化。在分析这个类之前,我们先来看一下怎么样调用这个类的,代码如下:

在调用_create_crawler函数时传送的参数spidercls是一个字符串,它的值是quotes。这时候需要把蜘蛛类中的名称转换为蜘蛛类的对象,这个过程是怎么样实现呢?显然就是使用蜘蛛类的加载类,也就是这里的spider_loader对象来实现,因此这里调用了load方法。所以传送给Crawler类的参数spidercls已经是一个蜘蛛类的对象。

 

当你去查看load方法时,发现它非常简单,只是从字典里取得对应的蜘蛛类对象。其实它是在SpiderLoader的构造函数时就已经把所有蜘蛛类加载到内存里。大体调用过程是这样:

通过Spi

以上是关于爬虫日记(84):Scrapy的Crawler类的主要内容,如果未能解决你的问题,请参考以下文章

爬虫日记(84):Scrapy的Crawler类

爬虫日记(85):Scrapy的ExecutionEngine类

爬虫日记(88):Scrapy的Downloader类

scrapy 爬虫怎么在程序里把爬虫停止

scrapy 主动停止爬虫

scrapy中主动触发关闭爬虫的方法