15. python爬虫——scrapy框架五大核心组件

在这里插入图片描述

  1. 爬虫(Spiders):
    (1)产生url,(将产生的url封装成请求对象传递给引擎)对url进行手动发送,传递给引擎。
    (2)进行数据解析,Spider拿到response后,可调用parse进行数据解析,解析完后的数据将被封装item对象当中,再发送给引擎。

接收Spider传来的请求对象,再将其转发给调度器。


  1. 引擎(scrapy):
    用来处理整个系统的数据流处理, 触发事务(框架核心)。相当于一个具有触发事务功能的数据中转站,接收各模块处理后的数据后,可将其再转发至相对应的模块。

  2. 调度器(scheduler):
    用来接收引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回。可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 由它来决定下一个要抓取的网址是什么, 同时去除重复的网址

    (1)过滤器:调度器首先使用过滤器将收到的请求对象进行去重,过滤。
    (2)队列:调度器会将过滤完后已去重后的对象放到队列当中。
    完成后,引起对其发送请求时,调度器可以将队列中的请求对象传递给引擎。

  3. 下载器(Downloader):
    用于下载网页内容, 并将网页内容返回给蜘蛛(Scrapy下载器是建立在twisted这个高效的异步模型上的)

    引擎将请求对象传递给下载器,下载器便根据请求对象去互联网上进行数据下载,下载完的数据都存在response里。完成后便将response数据传递给引擎。


Spider拿到response后,便可调用parse进行数据解析。将解析的数据封装到item对象当中,将item对象发送给引擎,引擎再转发给管道。


  1. 管道(pipeline):
    接收到item对象后,进行持久化存储。
    负责处理爬虫从网页中抽取的实体(item),主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过几个特定的次序处理数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

辰阳星宇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值