Python爬虫编程思想(159):Scrapy中的爬虫中间件

307次阅读
没有评论
Python爬虫编程思想(159):Scrapy中的爬虫中间件

        爬虫中间件(Spider Middleware)是Spider处理机制的构造框架,我们首先来看一下爬虫中间件的架构。
当爬虫向服务端发送请求之前,会经过爬虫中间件处理。下载器(Downloader)生成 Response之后,Response会被发送给 Spider,在发送给 Spider之前,Response会首先经过爬虫中间件处理,当Spider处理生成Item后,也会经过爬虫中间件处理。所以爬虫中间件会在如下3个位置起作用。

  • 向服务端发送Request之前,也就是在Request发送给调度器(Scheduler)之前对Request进行处理。
  • 在Downloader生成Response,并发送给Spider之前,也就是在Response发送给Spider之前对Response进行处理。
  • 在Spider生成Item,并发送给Item管道(Item Pipeline)之前,也就是在处理Response的方法返回Item对象之前对Item进行处理。

1. 内建爬虫中间件
与下载器中间件一样,Scrapy也提供了很多内建的爬虫中间件,这些内建爬虫中间件都在SPIDER_MIDDLEWARES_BASE变量中定义,代码如下:
{
    ‘scrapy.spidermiddlewares.httperror.HttpErrorMiddleware’: 50,
    ‘scrapy.spidermiddlewares.offsite.OffsiteMiddleware’: 500,
    ‘scrapy.spidermiddlewares.referer.RefererMid

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python教程2022-10-25发表,共计682字。
新手QQ群:570568346,欢迎进群讨论 Python51学习