首页 > 其他分享 >Scrapy框架理解

Scrapy框架理解

时间:2024-03-09 16:13:21浏览次数:19  
标签:Engine 框架 Downloader 处理 发送给 request Scrapy 理解 Middlewares

Engine(引擎):负责处理数据的流转和逻辑处理 == 处理器
Scheduler(调度器):负责request请求的调动规则
Spiders(蜘蛛):负责站点的爬取逻辑和页面解析规则
Spider Middlewares:负责实现Spiders和Engine的之间的item和request处理
Downloader(下载器):相当于请求网页,返回response
Downloader Middlewares:负责实现Downloader和Engine之间的request和response处理
Item Pipelines(项目管道):负责数据结构的处理以及存储

具体流转:
启动项目,Spiders返回最初要爬取的页面request请求,将它们发送给engine;
Engine将request请求发送给scheduler进行调度逻辑的处理;
scheduler向Engine返回第一个要处理的request请求;
Engine将其发送给Downloader进行处理,Downloader返回response结果;
数据传递具体过程用Downloader Middlewares负责;
Engine将response结果发送给spider进行处理,spider产生item结果或者其他request请求返回给Engine;
数据传递具体过程用Spider Middlewares负责;
Engine将item发送给Item Pipelines进行数据清洗和数据保存,将request发送给Scheduler等待下一次调度处理。

标签:Engine,框架,Downloader,处理,发送给,request,Scrapy,理解,Middlewares
From: https://www.cnblogs.com/hellojacker/p/18062849

相关文章

  • app自动化测试环境安装和原理解析
    1.移动测试的基本介绍定义:测试手机程序:appApp程序测试点:功能测试安装卸载测试升级测试兼容性测试不同的手机的系统使用测试环境不同androidios其他:基于Android二次开发系统华为:鸿蒙系统小米:澎湃系统网络切换网络终端使用中来电,短信横竖屏切换健壮性......
  • 理解 Docker 容器中 UID 和 GID 的工作原理
    理解用户名、组名、用户ID(UID)和组ID(GID)在容器内运行的进程与主机系统之间的映射是构建安全系统的重要一环。如果没有提供其他选项,容器中的进程将以root用户身份执行(除非在Dockerfile中提供了不同的UID)。本文将解释这一工作原理,如何正确授予权限,并提供示例加以说明。逐步分析uid/g......
  • 快速制定、分解、落地OKR的框架,建议你认真看!
    制定OKR(ObjectivesandKeyResults,目标与关键成果)并没有一套固定的公式,因为每个组织、团队或项目的具体情况和目标都是独特的。然而,有一些通用的步骤和考虑因素可以帮助你制定有效的OKR。以下是一个指导性的框架:一、明确组织或团队的战略目标确定长期和短期目标:明确组织或团......
  • C#事件(event)的理解
    一、多播委托的应用--观察者模式遇到一个开发的问题?面试者:以面向对象的思想实现一下的场景:猫:Miao一声,紧接着引发了一系列的行为~Miao:引发了一系列的动作;从代码层面来说:代码这样写好吗?猫职责不单一(猫就是猫,他的行为只有Miao一声)依赖太重,依赖了很多的普通类;被依赖的类如......
  • React设计原理解密及核心源码解读
    一、React基础回顾1、react介绍React是一个用于构建用户界面的JavaScript库,它只负责应用的视图层,帮助开发人员构建快速且交互式的web应用程序。React使用组件的方式构建用户界面。2、JSX语法回顾在React中使用JSX语法描述用户界面,它是一种JavaScript语法扩展......
  • 理解Saga模式:分布式事务的优雅解决方案
    理解Saga模式:分布式事务的优雅解决方案在微服务架构中,系统通常被拆分成多个独立的服务,每个服务管理着自己的数据和逻辑。这种拆分带来了灵活性和可扩展性,但同时也引入了分布式事务管理的挑战。传统的事务管理方法,如数据库的ACID(原子性、一致性、隔离性、持久性)事务,不再适用于跨多......
  • 深入理解与应用CSS clip-path 属性
    clip-pathclip-path是什么clip-path是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐藏。通过定义这个剪切路径(clippingpath),您可以创造出非矩形的裁剪形状,使元素内容按特定的几何形状展示。clip-path的工作原理clip-path属性通过定义......
  • Spring框架Bean对象的五个作用域
    ​ 一、前言:Bean对象简介在Spring项目中,那些由Spring IoC容器所管理的对象,称为bean。简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。 而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。上一段描述......
  • 企业级桌面软件开发框架electron
    https://gitee.com/dromara/electron-egg最大优点是可以生成桌面应用软件包;开发文档:https://www.kaka996.com/pages/c9eed1/运用它的---》远程模式功能,将生产环境地址设置到config.remoteUrl即可打包生成;具体操作步骤:vue项目启动npmrundev打包npmrunbuild生成......
  • Gin框架中使用JWT认证
    JWT是什么JSONWebToken(JWT)是一个开放标准(RFC7519),它定义了一种紧凑、独立的方式,可以用JSON对象在双方之间安全地传输信息。由于经过了数字签名,因此这些信息是可以验证和信任的。JWT可以使用密钥(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。尽管JW......