发表评论取消回复
相关阅读
相关 爬虫日记(76):Scrapy的命令行源码分析二
列举目录scrapy\\commands里命令 从代码里可以看到,先会从scrapy\\commands里得到所有命令,这些命令是scrapy最基本的操作,包含爬虫的创建、运
相关 爬虫日记(75):Scrapy的Settings源码分析(二)
由于前面学习的例子可知,scrapy程序会加载内部缺省的参数,它是定义在scrapy\\settings目录下面,它的名称叫做default\_settings.py,里面的参
相关 爬虫日记(74):Scrapy项目配置参数源码分析
前面已经知道scrapy程序运行之后,会调用execute()函数来执行,这是程序入口点,而在这个入口点的背后,第一步做的事情就是获得程序所有的配置参数,因为scrapy程序设
相关 爬虫日记(75):Scrapy的Settings源码分析
Scrapy有一个比较大的设计思路,就是任何模块都是可配置的,这样就会让系统更加灵活,也可以简化系统的复杂程度。所以需要设计一个比较复杂的Settings类,保存所有配置的参数
相关 爬虫日记(74):Scrapy项目配置参数源码分析(二)
接着下来是下面这语句: init\_env(project) 这是调用init\_env函数,这个函数主要用来读取所有的scrapy.cfg,然后把这个配置文件里的sett
相关 爬虫日记(84):Scrapy的Crawler类(二)
spidercls是一个蜘蛛类,比如这里是<class 'ItemDemo.spiders.quotes.QuotesSpider'>内容,self.settings是前面加载
相关 爬虫日记(83):Scrapy的CrawlerProcess类(二)
因此继续来分析这两个函数的代码,才能理解蜘蛛类怎么样加载进来,怎么样设置twisted底层的工作框架。我们来查看\_get\_spider\_loader函数的代码,它的定义如
相关 爬虫日记(88):Scrapy的Downloader类(二)
接着下来,我们来分析Downloader类的初始化过程,以及相关的数据结构,这样才能明白它具体做了些什么事情。 ![watermark_type_ZmFuZ3poZW5naG
相关 爬虫日记(87):Scrapy的RFPDupeFilter类(二)
前面函数的代码已经很清楚,就是生成请求对象的指纹信息,现在来分析每一行代码的作用: ![20210618123946469.png][] 第52和53行是判断请求是否
相关 爬虫日记(86):Scrapy的Scheduler类(二)
上面已经准备了所有队列的对象,下一步我们就来分析怎么进入队列,以及怎么实现优先级队列管理这些请求。这些函数的调用关系如下: ![watermark_type_ZmFuZ3po
还没有评论,来说两句吧...