Scrapy 下载中间件

目录

一、下载中间件的用处

 二、下载中间件主要方法

三、开启下载中间件配置


一、下载中间件的用处

 

 二、下载中间件主要方法

class Scrapypro01DownloaderMiddleware:

    # 拦截所有请求(正常 或 异常)
    # 参数: request拦截的请求,spider是爬虫类实例化的对象
    def process_request(self, request, spider):
        # 这样的写法一般不用,一般在配置文件里配置就好
        request.headers['User-Agent']='xxx'  # 动态进行修改
        request.headers['Cookie'] = 'xxxxxx' # 动态进行修改
        return None # or request 区别不大

    # 拦截所有响应对象
    # response是拦截到的响应对象,request响应对象对应的响应请求对象
    def process_response(self, request, response, spider):
        response.text="123" #篡改数据
        return response

    # 拦截异常请求
    # request就是拦截到的发生异常的请求
    # 作用: 想要将异常的请求进行修正,将其变成正常请求,然后对其进行重新发送
    def process_exception(self, request, exception, spider):
        # 请求的ip被禁掉,该请求就变成异常请求
        request.meta['proxy']='http://ip:port' # 设置代理
        return request # 将异常请求修正后将其进行重新发送

设置Cookie时只需要将配置文件里配置如下即可每次请求都携带得到的cookie:

COOKIES_ENABLED = True

请求当中如果产生了cookie会被自动记录下来到其他请求中。

三、开启下载中间件配置

settings.py里开启如下:

DOWNLOADER_MIDDLEWARES = {
   'scrapyPro01.middlewares.Scrapypro01DownloaderMiddleware': 543,
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值