scrapy框架介绍

####

目录

scrapy框架介绍

 

面试的时候问你基础概念和工作流程,看看你对这个框架是否熟悉 

#####

scrapy框架介绍

 

其实使用requests+selenium就可以解决90%的爬虫需求了,但是为什么还需要学习scrapy?

scrapy是为了让爬虫更快,更强,解决抓取效率慢,解决爬虫的效率和速度的问题,

#####

scrapy框架介绍

 

 框架和模块的区别是什么?

requests是模块,

框架能解决特定需求的所有的功能,包含了很多的模块,

框架是大而全的东西,而模块只是实现了一个特定的功能, 

twisted异步框架,扭曲的意思,

####

scrapy框架介绍

 

用做菜煮饭的例子非常的形象

####

scrapy框架介绍

 

####

scrapy框架介绍

 

 scrapy框架介绍

 

 

 ####

scrapy框架介绍

 

####

scheduler,就是一个调度器,存放是requests对象,这个对象有一些属性,比如url地址,header,代理,都是这里面,

downloader,下载器,这个是为了从url池子里面取url,发起请求获取数据

spiders,爬虫,这个就是从下载的内容提取数据给数据队列,还可以提取url并且还需要组装成request对象再传递给调度器里面去,做了两个事情,

item pipeline,这个是数据队列,为了保存数据,管道,就是把前一次的输出作为后一次的输入,

scrapy engine,引擎,爬虫获取到的url就是组装成request交给引擎,然后引擎给了调度器, 所以上面的四个模块是不联系,都是通过引擎联系,这就是解耦,容错率高,引擎负责所有的调度,

downloader middlewares,下载中间件,也就是我们可以写一个中间件,可以对下载做额外的处理的,

spider middlewares,爬虫中间件,这个地方也可以处理保存数据,但是因为我们有专门的item pipeline了,所以不需要在这里处理,两个中间件很像加工厂,可以处理数据,丢弃数据,

为什么要分这么多的模块,因为分开了之后更简短了,

和平哥的思路是一样的,

 ####

scrapy框架介绍

 

所以框架可以加快爬虫速度,而且还能少些很多代码,把精力放到核心业务处理的地方,

####

 

 

 

 

#####

上一篇:使用Scrapy框架进行爬虫并存储到数据库


下一篇:网络安全 基于scrapy框架与selenium、openpyxl库爬取国外各国家疫情统计汇总信息