Scrapy——Spider Middleware

爬虫中间件(Spider Middleware)

爬虫中间件的用法与下载器中间件很是类似,只是它们的做用对象不一样。下载器中间件的做用对象是请求request和返回response;爬虫中间件的做用对象是爬虫,更具体地来讲,就是写在spiders文件夹下面的各个文件。它们的关系,在Scrapy的数据流图上能够很好地区分开来,以下图所示。scrapy

其中,四、5表示下载器中间件,六、7表示爬虫中间件。爬虫中间件会在如下几种状况被调用。ide

  1. 当运行到yield scrapy.Request()或者yield item的时候,爬虫中间件的process_spider_output()方法被调用。
  2. 当爬虫自己的代码出现了Exception的时候,爬虫中间件的process_spider_exception()方法被调用。
  3. 当爬虫里面的某一个回调函数parse_xxx()被调用以前,爬虫中间件的process_spider_input()方法被调用。
  4. 当运行到start_requests()的时候,爬虫中间件的process_start_requests()方法被调用。
相关文章
相关标签/搜索