0
点赞
收藏
分享

微信扫一扫

Scrapy 框架架构

以沫的窝 2022-04-15 阅读 105

Scrapy 框架架构


目录


前言

  • Scrapy (/ˈskreɪpaɪ/) 是一个用于抓取网站和提取结构化数据的应用程序框架,可用于如数据挖掘、信息处理,网络爬虫。
  • scrapy基于异步框架实现的(Twisted)

这一节我们学习一下这个框架的基本架构,了解一下各组件是如何交互的。


一、核心组成

  • 引擎(Engine):引擎负责控制系统所有组件之间的数据流。自动运行,无需关注。
  • 调度器(Scheduler):接收来自引擎的请求,放在队列中,需要时在按一定次序交给引擎。
  • 下载器(Downloader):获取请求信息后,从网络获取数据并返回响应。
  • 爬虫(Spiders):我们操作最多的部分,用于解析下载器返回的响应。
  • 管道(Item Pipeline):处理爬虫解析好的数据,例如数据持久化(存入数据库),查重等。
  • 下载中间件(Downloader middlewares):处理引擎发来的请求和下载器发出的响应。
  • 爬虫中间件(Spider middlewares):处理进入spider的响应和出spider的数据或新请求。

二、数据流(图)

数据流

三、数据流程

  1. 引擎从Spider获取初始请求 。
  2. 引擎请求调度器,并准备下一次请求的抓取
  3. 调度器将请求交给引擎
  4. 引擎发出请求经过下载中间件交给下载器
  5. 下载完成后,下载器返回响应再次经过下载中间件交给引擎
  6. 引擎接收来自下载器的请求,经过爬虫中间件发送给 爬虫进行处理
  7. 爬虫处理响应返回数据item,或者新请求交给引擎,中间还会经过爬虫中间件。
  8. 引擎将item发送给管道,新请求发送给调度器等待调度
  9. 从第三步进行循环,直到调度其中没有请求

总结

本节介绍了Scrapy框架的基础知识,各部分具体负责什么后面会讲,但是要理解掌握工作流程,这有助于后面工作的进行。

举报

相关推荐

0 条评论