目录
1.介绍
1)scrapy是python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。scrapy=scrach+python
2)scrapy用途广泛,可以用于数据挖掘、监测和自动化测试、信息处理和历史档案等大量应用范围内抽取结构化数据的应用程序框架,广泛用于企业
3)scrapy使用twisted这个异步网络库来处理网络通讯,架构清晰,并且包含了各种中间件接口,可以灵活的完成各种需求。scrapy是由twisted写的一个受欢迎的python事件驱动网络框架,他使用的是非堵塞的异步处理
2.为什么要用scrapy
1.更容易构建和大规模的抓取项目
2.内置的机制被称为选择器,用于从网站(网页)上提取数据
3.异步处理请求,速度非常快
4.可以使用自动调节机制自动调整爬行速度
5.确保开发人员可访问性
3.scrapy的特点
1.是一个开源、免费使用的网络爬虫框架
2.scrapy生成格式导出如: JSON、CSV、XML
3.内置之处从源代码,使用xpath或者css选择器来提取数据
4.scrapy基于爬虫,允许以自动方式从网页中提取数据
4.优点
1.很容易扩展,速度快,功能强大
2.这是一个跨平台应用程序框架
3.scrapy请求调度和异步处理
4.scrapy附带了一个名为scrapyd的内置服务,允许使用JSON web服务上的项目和控制蜘蛛
5.能够刮削任何网站,即使该网站不具有元素数据访问api
5.流程图
手写:
scrapy engine(引擎):否则spider、itempipeline、Downloader、scheduler中间的通讯,信号、数据传递等。
scheduler(调度器):负责接受 引擎 发送过来的request请求,并按照一定的方式进行整理排序,入队,当 引擎 需要时,交还给 引擎
Downloader(下载器):负责下载 引擎 发送的所有request请求,并将其获取到的response交还给 引擎 ,由 引擎 交给 spider 来处理
spider(爬虫):负责处理所有response,从中分析提取数据,获取item字段需要的数据,并将需要跟进的url提交给 引擎 ,再次进入 调度器
item pipeline(管道):负责处理 spider 中获取到的item,并进行后期处理(详细分析、过滤、存储等)的地方
Downloader middlewares(下载中间件):可以当做是一个可以自定义扩展下载功能的组件
spider middlewares(spider中间件):可以理解为是一个可以自定义扩展和操作 引擎 和 spider 中间 通信 的功能组件(比如进入 spider 的response和从 spider 出去的request)
最简单的单个网页爬取流程是: spiders ->scheduler -> downloader -> spiders -> item pipeline
注意!只用当 调度器 中不存在如何request了,整个程序才会停止,也就是说,对于下载失败的url,scrapy也会重新下载。
今天的文章Scrapy框架介绍分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9700.html