zoukankan      html  css  js  c++  java
  • scrapy框架的概念

    使用Scrapy抓取一个网站一共需要四个步骤:

    1. 创建一个Scrapy项目;

    2. 定义Item容器;

    3. 编写爬虫;

    4. 存储内容。

     下图展现的是Scrapy的架构,包括组件及在系统中发生的数据流(图中绿色箭头)。

    无标题1

    下面对每个组件都做了简单介绍:

    Scrapy Engine

    Scrapy引擎是爬虫工作的核心,负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。

    调度器(Scheduler)

    调度器从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎。

    下载器(Downloader)

    下载器负责获取页面数据并提供给引擎,而后提供给spider。

    Spiders

    Spider是Scrapy用户编写用于分析由下载器返回的response,并提取出item和额外跟进的URL的类。 Item Pipeline Item Pipeline负责处理被spider提取出来的item。典型的处理有清理、验证及持久化(例如存取到数据库中)。

    接下来是两个中间件,它们用于提供一个简便的机制,通过插入自定义代码来扩展Scrapy的功能。

    下载器中间件(Downloader middlewares)

    下载器中间件是在引擎及下载器之间的特定钩子(specific hook),处理Downloader传递给引擎的response。

    Spider中间件(Spider middlewares)

    Spider中间件是在引擎及Spider之间的特定钩子(specific hook),处理spider的输入(就是接收来自下载器的response)和输出(就是发送items给item pipeline以及发送requests给调度器)。

  • 相关阅读:
    lamp环境安装二
    ubuntu14.04 sublime 出错
    lamp环境安装一
    jsp(Java Server Pages)和js(JavaScript)的区别:
    form表单验证jquery
    数据库分离 脱机
    数据绑定ds.ReadXml(stream);
    自定义类型转化
    temp
    一般处理程序获得一个链接返回的值
  • 原文地址:https://www.cnblogs.com/BetterThanEver_Victor/p/7028743.html
Copyright © 2011-2022 走看看