爬虫日记(83):Scrapy的CrawlerProcess类
Posted caimouse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫日记(83):Scrapy的CrawlerProcess类相关的知识,希望对你有一定的参考价值。
前面学习了Twisted的基础知识了,接着回过头来再看整个Scrapy程序,在执行 Scrapy 命令时,主要经过以下几步:
1)调用 cmdline.py 的 execute 方法
2)找到对应的命令实例解析命令行
3)构建 CrawlerProcess 实例,调用 crawl 和 start 方法开始抓取
而 crawl 方法最终是调用了 Cralwer 实例的 crawl,这个方法最终把控制权交给了Engine,而 start 方法注册好协程池,就开始异步调度执行了。
在 cmdline.py有execute方法里进行如下创建:
调用时CrawlerProcess(settings)来创建一个对象保存到cmd.crawler_process变量,这个CrawlerProcess对象才是我们需要关注的对象,因为它接管了execute的执行权,而要理解CrawlerProcess对象,就得理解CrawlerProcess类,它是在文件scrapy\\crawler.py里,crawler.py文件里只有三个类,如下图:
以上是关于爬虫日记(83):Scrapy的CrawlerProcess类的主要内容,如果未能解决你的问题,请参考以下文章
爬虫日记(83):Scrapy的CrawlerProcess类(三)