zoukankan      html  css  js  c++  java
  • Scrapy爬虫框架补充内容一(Linux环境)【Scrapy爬虫框架结构及工作原理】

    Scrapy爬虫框架结构及工作原理详解


    scrapy框架的框架结构如下:

    组件分析:

    ENGINE:(核心):处理整个框架的数据流,各个组件在其控制下协同工作

    SCHEDULER(调度器):负责接收引擎发送来的请求,并压入队列,在引擎再次请求时返回

    SPIDER(蜘蛛):负责从网页中提取指定的信息,即item并产生对新页面的下载请求

    DOWNLOADER(下载器):用于下载网页内容(即发送HTTP请求/接受HTTP请求)并将内容返回给ENGINE

    ITEM PIPELINES(项目管道):主要对爬取到的数据进行处理(去重、过滤、清洗),最终保存数据

    DOWNLOADER MIDDLEWARES(下载中间件):位于ENGINE和DOWNLOADER中间,处理请求和响应(该组件是反反爬虫的重点)

    SPIDER MIDDLEWARES(爬虫中间件):位于SPIDER和ENGINE中间,处理蜘蛛的请求和响应


    数据流对象分析:(主要有三)

    (1)REQUEST:scrapy中的hettp请求对象

    (2)RESPONSE:scrapy中的http响应对象

    (3)ITEM:页面爬取到的数据


     工作原理:

    (1)、Spiders发送第一个URL给引擎

    (2)、引擎从Spider中获取到第一个要爬取的URL后,在调度器(Scheduler)以Request调度

    (3)、调度器把需要爬取的request返回给引擎

    (4)、引擎将request通过下载中间件发给下载器(Downloader)去互联网下载数据

    (5)、一旦数据下载完毕,下载器获取由互联网服务器发回来的Response,并将其通过下载中间件发送给引擎

    (6)、引擎从下载器中接收到Response并通过Spider中间件发送给Spider处理

    (7)、Spider处理Response并从中返回匹配到的Item及(跟进的)新的Request给引擎

    (8)、引擎将(Spider返回的)爬取到的Item给Item Pipeline做数据处理或者入库保存,将(Spider返回的)Request给调度器入队列

    (9)、重复第(3)步循环运行直至SCHCULAR中没有REQUEST为止


     总结:这章我们学习了整个scrapy框架的结构及工作原理,小伙伴们清楚了吗?(刚全宿舍去看了复联3,突然发现灭霸并没有那么坏!雷神真tm叼!)

  • 相关阅读:
    软件-集成开发环境:IDE
    框架-Eureka:初识 Eureka
    框架:Rureka
    计算机系统-组件:DS(目录服务)
    院校-美国-麻省理工学院(MIT):百科
    院校-国外-美国-斯坦福大学( Stanford):百科
    院校:目录
    杂项:院校
    网络:万维网(WWW)
    词语辨析
  • 原文地址:https://www.cnblogs.com/518894-lu/p/9033924.html
Copyright © 2011-2022 走看看