发表评论取消回复
相关阅读
相关 爬虫日记(91):Scrapy的ScrapyAgent类
从前面的HTTP11DownloadHandler类分析可知,它是调用ScrapyAgent类来处理具体的HTTP或HTTPS的协议来下载网页数据。如下调用过程: ![wat
相关 爬虫日记(89):Scrapy的DownloadHandlers类
前面分析了下载器的整个源码,理解了下载器的工作过程,在那里经常会遇到一个类,就是DownloadHandlers类,这个类主要用来对不同的下载协议进行管理的,比如文件协议和ht
相关 爬虫日记(85):Scrapy的ExecutionEngine类(二)
前面可以看到一开始打开蜘蛛类有一次触发调度之外,还有下载数据返回之后进行一次调度。如果中间有调度没有准备好,或者队列满了,这样不会产生有新的下载,那么怎么样再次触发调度发生呢?
相关 爬虫日记(84):Scrapy的Crawler类(三)
前面完成Crawler类的构造函数分析,接着下来我们来分析这个类的第一个开始调用的函数,Crawler类被创建之后,就会立即调用crawl函数,代码如下: class Cra
相关 爬虫日记(84):Scrapy的Crawler类(二)
spidercls是一个蜘蛛类,比如这里是<class 'ItemDemo.spiders.quotes.QuotesSpider'>内容,self.settings是前面加载
相关 爬虫日记(84):Scrapy的Crawler类(一)
Crawler类是一个爬虫类,主要用来管理整个执行引擎ExecutionEngine类和蜘蛛类实例化。在分析这个类之前,我们先来看一下怎么样调用这个类的,代码如下: ![20
相关 爬虫日记(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
还没有评论,来说两句吧...