Scrapy中间件是一种可以在Scrapy引擎和Spider之间插入自定义逻辑的机制。它可以用来完成如下任务:
- 处理请求和响应
- 添加额外的请求
- 修改请求和响应
要使用中间件,需要在项目的settings.py文件中进行配置。可以在该文件中配置中间件的先后顺序。
- 为爬虫添加中间件,可以在settings.py文件中的SPIDER_MIDDLEWARES设置中添加中间件类。
- 为下载器添加中间件,可以在settings.py文件中的DOWNLOADER_MIDDLEWARES设置中添加中间件类。
通常情况下可以选择继承scrapy自带的中间件或自己编写中间件,调用自己需要的方法
例如定义一个中间件类
class MyMiddleware:
def process_request(self, request, spider):
# request 处理逻辑
pass
def process_response(self, request, response, spider):
#response 处理逻辑
pass