scrapy 中间件(Middleware)

中间件(Middleware)

scrapy的中间件是一个重要概念,作用在于批量拦截请求和响应。scrapy中有2种中间件,爬虫中间件(Spider Middleware)和下载中间件(Downloader Middleware)。在这里只记录下载中间件。

下载中间件(Downloader Middleware)

在这里插入图片描述

下载器中间件是一个挂钩Scrapy的请求/响应处理的框架。这是一个轻量级的低级系统,用于全局更改Scrapy的请求和响应。
引用自:https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#scrapy.downloadermiddlewares.DownloaderMiddleware

scrapy自动生成middlewares.py,创建了class MiddleproSpiderMiddleware(爬虫)和class MiddleproDownloaderMiddleware(下载),在学习测试中删掉了爬虫中间件。

作用

拦截请求和响应的操作

  • 修改请求URL
  • 伪装请求头信息(更换UA、cookie)
  • 自动重试
  • 设置代理(代理操作必须使用中间件才可以实现)
方法

process_request(self, request, spider)
对于请求的中间件实现,拦截所有(正常&异常)的请求。参数request是拦截到的数据,spider是爬虫类实例化的对象。
可以在此类编写、设置请求头信息,即更换UA、cookie等。它与settings.py中设置的区别在于,在此可以为不同的请求定制不同的请求头信息,settings.py作用全局。
虽然可以在此更换cookie,但一般不设置,因为scrapy会自行处理。

	def process_request(self, request, spider):
    	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值