Python爬虫编程思想(159):Scrapy中的爬虫中间件
蒙娜丽宁 于 2022-08-14 19: 2022-8-14 19:42:48 Author: blog.csdn.net(查看原文) 阅读量:25 收藏

蒙娜丽宁 于 2022-08-14 19:42:48 发布 10 收藏

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

161 篇文章 25 订阅 ¥29.90 ¥99.00

        爬虫中间件(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


文章来源: https://blog.csdn.net/nokiaguy/article/details/126335217
如有侵权请联系:admin#unsafe.sh