zoukankan      html  css  js  c++  java
  • 001 Scrapy框架入门

    [A] Scrapy简介

      1. Scrapy使用纯Python实现一个爬取网站数据,提取结构性数据而编写的应用框架,用途十分广泛

      2. 在Scrapy框架下,用户只需要定值开发几个模块就可以轻松的实现一个爬虫

      3. Scrapy使用了Twisted(其主要对手是Tornado)异步网络来处理网络请求,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的满足各种需求

    [B] Scrapy框架图(绿线为数据流向)

        Scrapy采取 5 + 2 的结构模式,即 5个模块 + 2 个中间件

      五个模块:

        1. Scrapy Engine(引擎)

            负责Spider(爬虫),ItemPipeline(管道),Downloader,Scheduler中间的通讯,信号,数据的传输等

        2. Scheduler(调度器)

            负责接受 Scrapy Engine(引擎) 发过来的 Request 请求,并按照一定的方式进行整理排列、入队,当 Scrapy Engine(引擎) 需要时,交还给引擎

        3. Downloader(下载器)

            负责下载 Scrapy Engine(引擎) 发过来的所有 Request 请求,并将其获取到的Responses交还给 Scrapy Engine(引擎),由 Scrapy Engine(引擎) 交给Spider(爬虫) 来处理

        4. Spider(爬虫)

            负责处理所有 Responses ,从中Fenix提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给 Scrapy Engine(引擎) ,再次进入 Scheduler(调度器) 

        5. Item Pipeline(管道)

            负责处理Spider中获取到的 Item ,并进行后期处理(详细分析,过滤,存储等)。

      两个中间件:

        1. Downloader(下载中间件)

            可以当做一个自定义拓展下载功能的组件

        2. Spider Middlewares(Spider中间件)

            可以理解为一个自定义拓展和操作Scrapy Engine(引擎) 和 Spider(爬虫) 中间通信的功能组件(比如进入Spider的Responses;和从Spider出去的Requests)

      

    [C] 制作Scrapy爬虫的步骤

        一共需要4个步骤:

      1. 新建项目 (scrapy stratproject xxx) 

          创建一个新的爬虫项目

      2. 明确目标 (编写 items.py)

          明确你要爬取的目标

      3. 制作爬虫 (spider / xxxspider.py)

          制作爬虫开始爬取网页

      4. 存储内容 (pipeline.py)

          设计管道存储爬取内容

  • 相关阅读:
    c#异步执行方法
    sql 增加、修改、删除触发器小例子
    c#解决高并发加锁(Lock)
    sql中写事物和c#中执行事物
    socket 服务器浏览器与服务器客户端实例
    c# 写txt
    vs2003 序列化json
    一个完整的Windows 服务从创建到安装卸载
    js封装长度验证
    jquery 右下角弹出框
  • 原文地址:https://www.cnblogs.com/carreyBlog/p/14070665.html
Copyright © 2011-2022 走看看