当前位置:网站首页>Scrapy框架介绍
Scrapy框架介绍
2022-07-30 18:20:00 【冷巷(*_*)】
目录
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也会重新下载。
边栏推荐
猜你喜欢

【HarmonyOS】【FAQ】鸿蒙问题合集4

好未来单季营收2.24亿美元:同比降84% 张邦鑫持股26.3%

【AGC】增长服务2-应用内消息示例

Kettle--MySQL生产数据库千万、亿级数据量迁移方案及性能优化

Wincc报表教程(SQL数据库的建立,wincc在数据库中保存和查询数据,调用Excel模板把数据保存到指定的位置和打印功能)

MySQL data types

网络基础(二)-Web服务器-简介——WampServer集成服务器软件之Apache+MySQL软件安装流程 & netstat -an之检测计算机的端口是否占用

CCNA-ACL(访问控制列表)标准ACL 扩展ACL 命名ACL

leetcode-684:冗余连接

针不戳,数据库性能优化八大方案。
随机推荐
This year..I sincerely recommend the professional engineer to upgrade to the book!
【AGC】增长服务2-应用内消息示例
What is an ultrasonic flaw detector used for?
A senior with 13 years of experience in software testing, summed up 5 test employment suggestions....
Basic knowledge points in js - BOM
DTSE Tech Talk丨第2期:1小时深度解读SaaS应用系统设计
"Ruffian Heng Embedded Bimonthly" Issue 59
What are the applications of X-rays?
微博广告分布式配置中心的构建与实践(有彩蛋)
arcpy获取要素类(属性表)包含的数目
沉浸式体验科大讯飞2022消博会“官方指定产品”
【开发者必看】【push kit】推送服务典型问题合集3
LayaBox---TypeScript---变量声明
Informatics Olympiad All-in-One 1966: [14NOIP Popularization Group] Scale Simplification | Luogu P2118 [NOIP2014 Popularization Group] Scale Simplification
LayaBox---TypeScript---函数
BI报表与数据开发
信息学奥赛一本通 1915:【01NOIP普及组】最大公约数与最小公倍数 | 洛谷 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
「Redis应用与深度实践笔记」,深得行业人的心,这还不来看看?
SQL行列转换
Codeblocks + Widgets create window code analysis