爬虫日记(83):Scrapy的CrawlerProcess类(二)

Posted caimouse

tags:

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

因此继续来分析这两个函数的代码,才能理解蜘蛛类怎么样加载进来,怎么样设置twisted底层的工作框架。我们来查看_get_spider_loader函数的代码,它的定义如下:

第131行使用了staticmethod装饰器,它是用来创建一个静态方法。静态方法类似普通方法,参数里面不用self。这些方法和类相关,但是又不需要类和实例中的任何信息、属性等等。如果把这些方法写到类外面,这样就把和类相关的代码分散到类外,使得之后对于代码的理解和维护都是巨大的障碍,而静态方法就是用来解决这一类问题的。因此可以认为_get_spider_loader方法实现的功能与类相关,但与类实例无关。

第132行定义静态方法的名称,接收外面传送的设置类settings。

第134行从设置类settings得到蜘蛛类加载类的包路径。SPIDER_LOADER_CLASS参数定义在文件scrapy\\settings\\default_settings.py里:

SPIDER_LOADER_CLASS = &

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

爬虫日记(83):Scrapy的CrawlerProcess类(三)

爬虫日记(83):Scrapy的CrawlerProcess类(二)

爬虫日记(63):Scrapy的设置参数-日志

爬虫日记(73):Scrapy程序运行入口点分析

爬虫日记(75):Scrapy的Settings源码分析

爬虫日记(74):Scrapy项目配置参数源码分析(二)