Scrapy 框架介绍

╰+攻爆jí腚メ 2023-10-10 01:18 125阅读 0赞

一、Scrapy是什么

Scrapy 是一个基于 Twisted 的异步处理框架,是纯 Python 实现的爬虫框架,其架构清晰,模块之间的耦合程度低,可扩展性极强,可以灵活完成各种需求。我们只需要定制开发几个模块就可以轻松实现一个爬虫。

二、Scrapy优点

1、速度快

2、实现大批量爬取

三、Scrapy爬虫框架的架构

9bafc7fb238d4bc297f7d096d7409cab.png

(1) Scrapy有五个部分组件组成:

  1. > 引擎Scrapy Engine:用来处理整个系统的数据流处理、触发事务,是整个框架的核心
  2. > 调度器Scheduler:用来接受引擎发过来的请求并加入队列中,并在引擎再次请求的时候提供给引擎。
  3. > 管道item pipeline:负责处理由蜘蛛从网页中抽取的项目,它的主要任务是清洗、验证和存储数据。
  4. > 爬虫器(爬虫组件) Spiders:其内定义了爬取的逻辑和网页的解析规则,它主要负责解析响应并生成提取结果和新的请求。
  5. Spider MiddlewaresSpiders中间件):位于引擎和蜘蛛之间的钩子框架,主要工作是处理蜘蛛输入的响应和输出的结果及新的请求。
  6. > 下载器 Downloader:用于下载网页内容,并将网页内容返回给Spiders爬虫器。
  7. Downloader Middlewares(下载器中间件):位于引擎和下载器之间的钩子框架,主要是处理引擎与下载器之间的请求及响应。

(2) Scrapy数据流机制:

  1. 引擎Scrapy Engine : C位,不用做事,接收任务,分发任务。
  2. 爬虫器Spiders :
  3. 1.确认目标url,根据这个url构造一个request对象,交给引擎
  4. 4.接收了来自引擎的response,进行解析,解析完毕,把结果给引擎
  5. 解析结果分为2
  6. --(1)如果提取出来的是url,就把所有的步骤重头再走一遍
  7. --(2)如果是需要进行保存的数据data
  8. 调度器Scheduler:
  9. 2.接收了来自引擎的request对象,进行一个排序,把排序之后的结果交给引擎(假设有100request对象,安装调度,安排谁先谁后).
  10. 下载器Downloader:
  11. 3.接收了来自经过了排序之后的引擎的request对象,发送网络请求获取响应对象response,交给引擎.
  12. 管道item pipeline:
  13. 5.接收了来自引擎的数据data,进行保存.

通过多个组件的相互协作、不同组件完成工作的不同、组件很好地支持异步处理,scrapy 最大限度地利用了网络带宽,大大提高了数据爬取和处理的效率。

四、scrapy创建项目

(1) 爬虫项目

scrapy startproject 爬虫项目名

(2) 爬虫任务

  1. cd 到项目的根目录

  2. scrapy genspider 爬虫任务名称 域的范围.com

(3) 运行scrapy爬虫

scrapy crawl 爬虫任务名称

(4) Scrapy创建结构图

265454444f2e452e9d461671cd58dacf.png

各个文件的功能描述如下:

  • scrapy.cfg:它是 Scrapy 项目的配置文件,其内定义了项目的配置文件路径、部署相关信息等内容。
  • items.py:它定义 Item 数据结构,所有的 Item 的定义都可以放这里。
  • pipelines.py:它定义 Item Pipeline 的实现,所有的 Item Pipeline 的实现都可以放这里。
  • settings.py:它定义项目的全局配置。
  • middlewares.py:它定义 Spider Middlewares 和 Downloader Middlewares 的实现。
  • spiders:其内包含一个个 Spider 的实现,每个 Spider 都有一个文件。

发表评论

表情:
评论列表 (有 0 条评论,125人围观)

还没有评论,来说两句吧...

相关阅读

    相关 scrapy框架详细介绍

    Scrapy是一个Python编写的网络爬虫框架,它提供了一系列方便的爬虫工具,可以帮助开发者快速构建爬虫。 Scrapy有一个组件化的设计,可以轻松扩展和集成到其他的应用中

    相关 Scrapy 框架介绍

    一、Scrapy是什么 Scrapy 是一个基于 Twisted 的异步处理框架,是纯 Python 实现的爬虫框架,其架构清晰,模块之间的耦合程度低,可扩展性极强,可以

    相关 Scrapy爬虫框架介绍

    一、爬虫框架简介 爬虫框架是实现爬虫功能的一个软件结构和功能组件集合。 爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫。 二、Scrapy爬虫框架结构 ![

    相关 Scrapy框架介绍

    1.什么是网络爬虫 网络爬虫是根据特定的规则在网络上自动爬取所需信息的脚本或程序,分为通用爬虫和聚焦爬虫,传统的通用网络爬虫主要为门户站点搜索引擎和大型Web服务提供商采

    相关 Scrapy爬虫框架介绍

    Scrapy简介 > Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 > 其最