scrapy五大核心组件

前言

  • 在了解scrapy的5大核心组件之前,我们要吃一点饭前甜点.
  • 我们知道scrapy是一个框架,之于框架,就是集成了很多功能,并且通用性很强的一个项目模板
  • 而scrapy,就是爬虫中的明星框架,scrapy的优势在于高性能的储存,异步下载,高性能的数据解析,并且其可以实现分布式爬虫
  • 最后,看本文的时候应对scrapy有一个粗浅的认识,起码建过一个工程.

简介

在这里插入图片描述

1.spider

  • 在创建出scrapy工程的时候,我们很容易看到工程目录下有一个spider的目录,这是我们可以看到的与spider有关的东西
  • 事实上,spider就是框架中干活的打工人.我们让这个打工人解析页面的数据,供其它的组件使用.

2.调度器

  • 调度器里又包含了过滤器和队列.
  • 过滤器就是用来过滤掉spider提供的url,避免重复
  • 队列就是用来储存一系列待请求的url

3.管道

  • 了解管道之前,我们首先要知道,scrapy中有一个叫item的东西,他是spider解析的一系列数据,最终数据要转化为item,再输送给管道进行存储,可以理解为一个购物的流程:
    spider把你需要的数据打包(你买东西快递给你打包),
    之后送给管道(各种运输方式将你的包裹送过来),最后管道进行持久化存储(你收到了快递,拆包,各种使用…)

4.下载器

  • 下载器顾名思义,就是用来下载网页数据的,下载之后的数据会送给spider继续处理

5.引擎

  • 引擎是组件的心脏. 负责整个系统的数据流处理, 触发事务.怎么理解呢?
  • 玩过scrapy我们知道,再对应的工程文件中有很多的类,我们知道要对类实例化,才能使用类中相关的方法,而我们编写的时候只是编写的类对吧,那么谁负责去实例化呢?谁去处理爬虫对应步骤怎么走呢?就是我们的引擎大哥了.

组件之间协调

  • 组件之间的协调的核心就是引擎.而在这个心中的血液就是数据流.引擎会根据不同组件提供的数据来触发相应的事物.
  • 譬如,spider要提交一个url给调度器,首先引擎就实例化了spider中的类,执行了一些方法

END

希望大家能有所收获,并给一个赞!

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

popcorn_min

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值