zoukankan      html  css  js  c++  java
  • scrapy框架的理解

      在每一次学习一个新东西之前,需要知道的几个问题。这个东西是什么(what),怎么使用(how),为什么(why)

    scrapy的概念:Scrapy是一个为了爬取网站数据,提取结构性数据而编写的框架。

    scrapy的作用:通过少量代码实现快速抓取。

    scrapy一共有5个模块和2个中间件,模块分别是Spider爬虫模块,engine引擎模块,scheduler调度器模块,Downloader下载器模块,Pipeline管道模块。中间件分别是Downloader--Middlewares(下载器中间件),

    Spider-Middlewares(爬虫中间件)。

    engine引擎模块:负责数据和信号在不同模块间的传递。

    scheduler调度器模块:实现一个队列,存放引擎发过来的request请求对象。

    Downloader下载器模块:发送引擎发过来的request请求,获取响应,并将response传递给引擎。

    Spider爬虫模块:处理引擎发过来的response,提取数据,提取url,并交给引擎。

    Pipeline管道模块:处理引擎传递过来的数据,比如存储。格式可以是csv、json、mongodb、redis、mysql.

    下载中间件(downloader middleware):可以自定义的下载扩展,比如设置代理Ip。

    爬虫中间件(spider middleware):可以自定义request请求和进行response过滤。

    scrapy的工作原理流程:

    1.spider---request---engine

    2.engine---request---scheduler

    3.scheduler---request---engine

    4.engine---request---downloader

    5.downloader---response---engine

    6.engine---response---spider

    7.spider---new_url---engine

    重复1-6

    8.spider---data---engine

    9.engine---data---pipeline

    scrapy框架的运行流程以及数据传递过程:

    1. 调度器把requests-->引擎-->下载中间件--->下载器
    2. 下载器发送请求,获取响应---->下载中间件---->引擎--->爬虫中间件--->爬虫
    3. 爬虫提取url地址,组装成request对象---->爬虫中间件--->引擎--->调度器
    4. 爬虫提取数据--->引擎--->管道
    5. 管道进行数据的处理和保存
  • 相关阅读:
    用Hexo搭建博客(一)——在本地搭建一个博客
    Windows 10关闭自动更新
    ArcGIS Engine10.2与VS2012的安装与配置(含下载链接)
    ArcGIS Server 10.6 安装在windows server 2008 r2 环境中遇到的问题及解决方法
    windows server 2012 配置IIS 8.0教程
    VMware安装windows server 2012 r2详细教程(附下载链接)
    动态网页开发基础
    使用jQuery操作DOM
    jQuery中的事件与动画
    Jquery选择器
  • 原文地址:https://www.cnblogs.com/hjl666/p/10882737.html
Copyright © 2011-2022 走看看