一、Scrapy 中间件的分类和作用
1.1 中间件分类
Scrapy 中间件犹如一个功能强大且精密的工具集合,主要可划分为下载中间件(Downloader Middleware)和爬虫中间件(Spider Middleware)两大关键类别。
1.1.1 下载中间件
下载中间件处于 Scrapy 引擎与下载器之间的关键枢纽位置,宛如一位智能且高效的交通指挥员。它承担着处理引擎与下载器之间请求和响应的重要使命。在请求阶段,它能够对请求进行精心且细致的预处理,例如为请求巧妙地添加各种必要的请求头,或是灵活地修改请求参数,以确保请求能够完美适配目标网站的要求;在响应阶段,它又能对响应进行全面且深入的后处理,像机智地处理重定向情况,保障请求能够准确无误地到达目标页面,或是妥善应对异常响应,避免程序因错误响应而陷入崩溃状态。