ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

scrapy框架介绍

2021-07-24 14:31:06  阅读:122  来源: 互联网

标签:框架 url 中间件 爬虫 介绍 #### scrapy 模块


####

目录

 

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

#####

 

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

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

#####

 

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

requests是模块,

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

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

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

####

 

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

####

 

####

 

 

 

 

 ####

 

####

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

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

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

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

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

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

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

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

和平哥的思路是一样的,

 ####

 

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

####

 

 

 

 

#####

标签:框架,url,中间件,爬虫,介绍,####,scrapy,模块
来源: https://www.cnblogs.com/andy0816/p/15055119.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有