zoukankan      html  css  js  c++  java
  • scrapy之 Spider Middleware(爬虫中间件)

    Spider Middleware是介入到Scrapy与Spider处理机制的钩子框架。所处位置:

    当 Downloder生成Response之后,Response 会被发送给 Spider,在发送给 Spider之前,Response 会首先经过 Spider Middleware处理,当Spider处理生成Item 和Request之后,Item和Request还会经过 Spider Middleware 的处理。

     Spider Midleware 有如下三个作用:

    • 我们可以在 Downmloader生成的Response发送给 Spider之前,也就是在 Response发送给Spide|之前对 Response进行处理。
    • 我们可以在 Spider生成的Request发送给 Scheduler之前,也就是在 Request发送给 Schedule之前对Request 进行处理。
    • 我们可以在 Spider生成的Item发送给 Item Pipeline之前,也就是在 Item发送给Item Pipeline之前对Item 进行处理

    需要说明的是,Scrapy其实已经提供了许多 Spider Middleware,它们被 SPIDER_MIDDLEMARES_BASE 这个变量所定义。

    SPIDER_MIDDLEMARES_BASE

    {
       'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware':50,
       'scrapy.spidermiddlewares.offsite.0ffsiteNiddleware':500,                                
      'scrapy.spidermiddlewares.referer.RefererNiddleware':700, 'scrapy. spidermiddlewares.urllength.UrlLengthMiddleware':800,
      'scrapy.spidermiddlewares.depth. epthMiddleware':900, }

    和 Downloader Middleware—样,Spider Middleware 首先加人到 SPIDER_MIDDLEWARES 设置中,该设 置会和 Scrapy 中SPIDER_MIDDLEMARES_BASE定义的 Spider Middleware合并。然后根据键值的数字优先级排序,得到一个有序列表。第一个Middleware是最靠近引擎的,最后一个Middleware是最靠近Spider

    待完善。。。

  • 相关阅读:
    原生js 异步请求,responseXML解析
    asp.net中Page.ClientScript.RegisterStartupScript用法小结
    asp.net 在repeater控件中加按钮
    无法打开物理文件 操作系统错误 5:拒绝访问 SQL Sever
    js 注册控件的onclick事件
    js控件设置只读属性和不可用属性
    js CheckBox只读
    js时间日期格式
    js正则判断日期
    UIPickerView的使用(三)
  • 原文地址:https://www.cnblogs.com/codexlx/p/12618436.html
Copyright © 2011-2022 走看看