Python3爬虫之Scrapy框架的下载器中间件

Python爬虫之Scrapy框架的下载器中间件

基本介绍

下载器中间键可以为我们设置多个代理ip与请求头,达到反反爬虫的目的

下面是scrapy为我们创建好的中间件的类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z4OnHb5w-1571155786522)(C:\Users\JunSIr\AppData\Roaming\Typora\typora-user-images\1571109201936.png)]

下面是中间件中的下载器函数,我们主要在这个函数里面进行操作

Python3爬虫之Scrapy框架的下载器中间件_第1张图片

Process_request(self,request,spider)

  • 参数

    request:发送请求的request对象

    spider:发送请求的spider对象

  • 此方法若返回None,Scrapy将继续处理此Request,直到 其他下载器中间件被调用

  • 此方法若返回Response对象:不再返回下载器,直接返回给引擎

  • 返回Request对象:使用现在返回的Request

图解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jyc5xSHI-1571155786524)(C:\Users\JunSIr\AppData\Roaming\Typora\typora-user-images\1571114253852.png)]

Process_response(self,request,response,spider):

  • 参数

request: request对象

response:被处理的response对象

  • 返回值

返回response对象:会将这个对象按序传给其他中间件,最终经过引擎给到爬虫

返回request对象:下载器链接切断,返回的request重新被下载器调度,最终经过引擎给到爬虫

返回request对象:下载器链接切断,返回的request重新被下载器调度

##中间件应用

设置随机请求头

Python系列CSDN博客地址:

如需更系统学习,下面是博主关于Python爬虫的系列学习博客

  1. Python3爬虫入门(快速简易)
  2. Python3爬虫系列之urllib库
  3. Python3爬虫之request库
  4. Python3爬虫之XPath语法和lxml模块
  5. Python3爬虫之数据存储
  6. Python3爬虫之Scrapy框架入门
  7. Python3爬虫入门案例Scrapy爬取传智讲师个人信息
  8. Python3爬虫之Scrapy框架模拟登陆人人网
  9. Python3爬虫之Scrapy框架的下载器中间件
  10. Python3反反爬虫之Scrapy设置随机请求头

你可能感兴趣的:(Python3爬虫之Scrapy框架的下载器中间件)