Scrapy 框架架构
Scrapy 框架架构
目录
- Scrapy 框架架构
- 前言
- 一、核心组成
- 二、数据流
- 三、项目结构
- 总结
前言
- Scrapy (/ˈskreɪpaɪ/) 是一个用于抓取网站和提取结构化数据的应用程序框架,可用于如数据挖掘、信息处理,网络爬虫。
- scrapy基于异步框架实现的(Twisted)
这一节我们学习一下这个框架的基本架构,了解一下各组件是如何交互的。
一、核心组成
- 引擎(Engine):引擎负责控制系统所有组件之间的数据流。自动运行,无需关注。
- 调度器(Scheduler):接收来自引擎的请求,放在队列中,需要时在按一定次序交给引擎。
- 下载器(Downloader):获取请求信息后,从网络获取数据并返回响应。
- 爬虫(Spiders):我们操作最多的部分,用于解析下载器返回的响应。
- 管道(Item Pipeline):处理爬虫解析好的数据,例如数据持久化(存入数据库),查重等。
- 下载中间件(Downloader middlewares):处理引擎发来的请求和下载器发出的响应。
- 爬虫中间件(Spider middlewares):处理进入spider的响应和出spider的数据或新请求。
二、数据流
对照上面的图片:
- 引擎从Spider获取初始请求 。
- 引擎请求调度器,并准备下一次请求的抓取
- 调度器将请求交给引擎
- 引擎发出请求经过下载中间件交给下载器
- 下载完成后,下载器返回响应再次经过下载中间件交给引擎
- 引擎接收来自下载器的请求,经过爬虫中间件发送给 爬虫进行处理
- 爬虫处理响应返回数据item,或者新请求交给引擎,中间还会经过爬虫中间件。
- 引擎将item发送给管道,新请求发送给调度器等待调度
- 从第三步进行循环,直到调度其中没有请求
并不是所有部分我们都需要关注,这些组成中引擎,下载器和调度器,是不需要我们编写的。我们的重点在其他部分。
三、项目结构
接下来我们了解一下创建项目后的结构,在需要存储代码的目录下运行终端cmd:scrapy startproject 爬虫名称
完成后我们会发现已经出现了项目目录,内容如下:
爬虫名称/scrapy.cfg # 项目配置文件,包含配置路径,部署信息爬虫名称/ # 项目的Python模块,您将从这里导入代码__init__.pyitems.py # 用来定义Item数据结构middlewares.py # 用来实现中间件pipelines.py # 用于编写管道文件,也就是处理数据settings.py # 项目的全局配置信息spiders/ # 用来存放日后编写的爬虫文件__init__.py
总结
本节介绍了Scrapy框架的基础知识,各部分具体如何实现后面会讲,但是这节要理解掌握工作流程,这有助于后面工作的进行。
Scrapy 框架架构相关推荐
- scrapy框架架构
介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速.简单.可扩展的方式从网站中提取所需的数据.但目前Scrapy的用途十分广泛,可用于 ...
- 5.1-python爬虫之Scrapy框架及入门
系列文章目录 python爬虫目录 文章目录 系列文章目录 前言 一.Scrapy框架架构 1.Scrapy框架介绍 2.Scrapy架构图 3.Scrapy框架模块功能 二.安装和文档 三.快速入门 ...
- 【Python爬虫系列教程 28-100】小姐姐带你入门爬虫框架Scrapy、 使用Scrapy框架爬取糗事百科段子
文章目录 Scrapy快速入门 安装和文档: 快速入门: 创建项目: 目录结构介绍: Scrapy框架架构 Scrapy框架介绍: Scrapy框架模块功能: Scrapy Shell 打开Scrap ...
- Scrapy框架的学习(一)
1. Scrapy概述 1. 为什么要学习scrapy框架 爬虫必备的技术,面试会问相关的知识. 让我们的爬虫更快更强大.(支持异步爬虫) 2. 什么是Scrapy? 异步爬虫框架:Scrapy是一个 ...
- python scrapy框架 简书_python爬虫框架——Scrapy架构原理介绍
说起写爬虫,大多数第一时间想到的就是python了.python语法简洁明了,加上及其丰富好用的库,用它来写爬虫有天然的优势. 之前学python的时候也用requests+lxml写过几个爬虫玩,但 ...
- Scrapy 框架介绍 [Scrapy 框架概述][Scrapy 框架的特点][Scrapy 框架的架构概述]
您的"关注"和"点赞",是信任,是认可,是支持,是动力- 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 文章目录 1 S ...
- 玩转 Scrapy 框架 (二):Scrapy 架构、Request和Response介绍
目录 一.Scrapy 架构及目录源码分析 二.Request 和 Response 介绍 2.1 Request 2.2 Response 三.实例演示 3.1 POST 请求 3.2 GET 请求 ...
- Python爬虫从入门到放弃(十二)之 Scrapy框架的架构和原理
原文地址https://www.cnblogs.com/zhaof/p/7173397.html 这一篇文章主要是为了对scrapy框架的工作流程以及各个组件功能的介绍 Scrapy目前已经可以很好的 ...
- scrapy框架_Scrapy框架学习---Scrapy介绍(一)
Scrapy 框架 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页 ...
最新文章
- SH 脚本注意事项之 IF 判断
- sed命令详解--转
- css-modules 简介
- HDU - 2457 DNA repair(AC自动机+dp)
- linux切换root报错,Linux用户切换到root后运行图形程序报错(*GLib-GIO-CRITICAL **)
- Spring MVC 流程图
- cube云原生机器学习平台-架构(五)
- 资源工具分享(第1期):后端架构师技术图谱
- NDSS 2021 论文泛读
- [Node.js] rsaaes 加密解密
- Apple Pay编程指南(6) -沙盒测试
- 互联网中常见优化手段
- 2018.8.10Yukimai模拟Day1
- 如何通过js关闭微信浏览器页面
- canvas教程6-绘制圆弧
- c语言 char = china,[求助]char a []=CHINA
- VS2015 更换序列号
- 防复制防破解小区门禁梯控升级非联网CPU卡脱机写卡门禁梯控一卡通系统92HID623CPU V5.00操作说明之设备与楼栋单元设置
- 统计学中sp_统计学名词解释
- 管理潜能测试软件,快速判断管理者潜力 人才测评工具来帮忙