爬虫日记(78):Scrapy的命令运行入口点
Posted caimouse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫日记(78):Scrapy的命令运行入口点相关的知识,希望对你有一定的参考价值。
前面经历了从安装程序转到scrapy程序运行,再从scrapy程序开始读取配置参数,再到命令行里处理参数,这样就把前期的工程准备好了,接着就来到了最后的阶段,运行爬虫了。这个阶段是最为复杂的内容,不但要分离各个功能模块,还需要把它们串联在一起。分离导致思考独立了,但串联又要整合,这种模式会让人头脑比较分裂状态,既想分离得干干净净,又想整合得天衣无缝,一直是矛盾的两面。
我们来看一下函数execute最后的三行代码:
第145行是创建一个CrawlerProcess类对象,这个类用来实现同一个进程内运行多个爬虫类。CrawlerProcess类是继承CrawlerRunner类,这个类用来跟踪、管理和运行多个爬虫的类。这个类保存在命令对象crawler_process的类变量里,这样所有类对象都使用同一个实例。
第146行调用_run_print_help函数来运行命令,同时方便输出错误信息,在前面已经介绍过。这里主要运行的函数是_run_command,它是用来实现运行命令的两种不同的方式:性能测试运行和正常运行,性能测试运行是用来观察爬虫运行之后的性能,比如内存占用、运行时间等等;正常运行,就是普通直接工作时运行爬虫。
以上是关于爬虫日记(78):Scrapy的命令运行入口点的主要内容,如果未能解决你的问题,请参考以下文章