首页 > 技术文章 > scrapy爬虫框架

LBDJSBP 2020-06-30 20:53 原文

  scrapy是一个使用Python编程语言编写的爬虫框架,任何人都可以根据自己的需求进行修改,并且使用起来非常方便。他可以应用在数据采集,数据挖掘,网络异常用户检测,存储数据等方面。

  scrapy使用了Twisted异步网络库来处理网络通讯。

框架的组成: 

  1. scrapy engine:引擎
      整个框架的核心,负责框架中的数据的流动
  2.scheduler:调度器
      从引擎接受requestsu,并且让其进入队列,按照调度的规则吧requests发送给Downloader
  3.Downloader:下载器
      发送请求并接受响应,把响应交给spiders
  4.spiders:爬虫(解析器)
      解析url和data
      url:通过引擎交给调度器
      data:通过引擎交给item pipeline
  5.item pipeline:数据管道
      接受items,并保存

流程:

  1.引擎从spider处获得爬取请求(request)

  2.Eengine(引擎)将爬取请求转发给Scheduler(调度器),用于调度

  3.Engine(引擎)从Scheduler(调度器)处获得下一个要爬取的请求

  4.Engine(引擎)将爬取请求通过中间件发送给Downlooader(下载器)

  5.爬取网页后,Downloader(下载器)形成响应(Response)通过中间件 发送给Engine(引擎)

  6.Engine(引擎)将收到的响应通过中间件发送给Spider处理

  7.spider处理响应后产生爬取项(scraped Item)和新的爬取请求(Requests)发送给Engine(引擎)

  8.Engine(引擎)将爬取项发送给Item Pipeline(项目管道)

  9.Engine(引擎)将爬取请求发送给Scheduler(调度器)

总结:

  引擎控制个模块数据流,不间断从调度器处获得爬取请求,直到请求为空。整个框架从spider的初始爬取请求开始------直到item结束。

推荐阅读