发表评论取消回复
相关阅读
相关 爬虫日记(91):Scrapy的ScrapyAgent类
从前面的HTTP11DownloadHandler类分析可知,它是调用ScrapyAgent类来处理具体的HTTP或HTTPS的协议来下载网页数据。如下调用过程: ![wat
相关 爬虫日记(89):Scrapy的DownloadHandlers类
前面分析了下载器的整个源码,理解了下载器的工作过程,在那里经常会遇到一个类,就是DownloadHandlers类,这个类主要用来对不同的下载协议进行管理的,比如文件协议和ht
相关 爬虫日记(85):Scrapy的ExecutionEngine类(二)
前面可以看到一开始打开蜘蛛类有一次触发调度之外,还有下载数据返回之后进行一次调度。如果中间有调度没有准备好,或者队列满了,这样不会产生有新的下载,那么怎么样再次触发调度发生呢?
相关 爬虫日记(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类(三)
前面已经分析过入队的情况,进入队列时,会根据请求的内容来生成一个数字指纹,如果两个数字指纹一样,那么就可以丢掉这个请求,这样就可以防止重复的请求,这样可以提高效率。接着下来,我
相关 爬虫日记(86):Scrapy的Scheduler类(二)
上面已经准备了所有队列的对象,下一步我们就来分析怎么进入队列,以及怎么实现优先级队列管理这些请求。这些函数的调用关系如下: ![watermark_type_ZmFuZ3po
相关 爬虫日记(86):Scrapy的Scheduler类(一)
前面学习过了引擎类,明白整个引擎的工作过程,在引擎里要调用调度管理类,这样才能够把请求下载进行去重,或者优先下载等功能实现。现在我们就来分析这个类的实现,以便完全理解调度管理类
还没有评论,来说两句吧...