爬虫日记(78):Scrapy的命令运行入口点

前面经历了从安装程序转到scrapy程序运行,再从scrapy程序开始读取配置参数,再到命令行里处理参数,这样就把前期的工程准备好了,接着就来到了最后的阶段,运行爬虫了。这个阶段是最为复杂的内容,不但要分离各个功能模块,还需要把它们串联在一起。分离导致思考独立了,但串联又要整合,这种模式会让人头脑比较分裂状态,既想分离得干干净净,又想整合得天衣无缝,一直是矛盾的两面。

我们来看一下函数execute最后的三行代码:

爬虫日记(78):Scrapy的命令运行入口点

第145行是创建一个CrawlerProcess类对象,这个类用来实现同一个进程内运行多个爬虫类。CrawlerProcess类是继承CrawlerRunner类,这个类用来跟踪、管理和运行多个爬虫的类。这个类保存在命令对象crawler_process的类变量里,这样所有类对象都使用同一个实例。

第146行调用_run_print_help函数来运行命令,同时方便输出错误信息,在前面已经介绍过。这里主要运行的函数是_run_command,它是用来实现运行命令的两种不同的方式:性能测试运行和正常运行,性能测试运行是用来观察爬虫运行之后的性能,比如内存占用、运行时间等等;正常运行,就是普通直接工作时运行爬虫。

Original: https://blog.csdn.net/caimouse/article/details/117187670
Author: caimouse
Title: 爬虫日记(78):Scrapy的命令运行入口点

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/791176/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球