python爬虫---从零开始(三)Requests库

系统 1895 0

1,什么是Requests库

Requests是用python语言编写,基于urllib,采用Apache2 Licensed 开源协议的HTTP库。

它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求,用一句话来说,Requests是

python实现的简单易用的HTTP库。 

  安装Request,直接输入 pip3 install requests

2,使用方法(底部有码云地址)

python爬虫---从零开始(三)Requests库_第1张图片

相对上一期的urllib库要简单了很多了(个人觉得简单了不少的)

各种请求方式:

python爬虫---从零开始(三)Requests库_第2张图片

 

详细请求方式

get方式:基本写法

python爬虫---从零开始(三)Requests库_第3张图片

  带参数的GET请求

python爬虫---从零开始(三)Requests库_第4张图片

  也可以写成这样的:

python爬虫---从零开始(三)Requests库_第5张图片

这两种方式,都可以满足为GET请求传递参数。

解析JSON

python爬虫---从零开始(三)Requests库_第6张图片

 

当我们输入. json ()时,这时会给予我们一个字典类型的数据。或者使用json.loads也是可以的,返回结果完全一致的。

获取二进制数据(例如下载图片,音频和视频等文件操作)

python爬虫---从零开始(三)Requests库_第7张图片    我们可以打开该网站看一下内容到底是什么,是一个小的来看,下怎么下来该图片

python爬虫---从零开始(三)Requests库_第8张图片

添加请求头:

某乎这个网站对于没有请求头的方式,是没有办法请求的,我们来看下报错信息。

python爬虫---从零开始(三)Requests库_第9张图片

下面是添加请求头时的模拟请求:我们来模拟一个google浏览器的请求。

python爬虫---从零开始(三)Requests库_第10张图片

这次我们就可以请求成功了。

到这里,基本的GET请求方式都已经全部说完了,比上一期的urllib要简单很多了吧。反正我是这样认为的。

POST请求:基本请求方式

python爬虫---从零开始(三)Requests库_第11张图片

  添加请求头headers的POST请求

python爬虫---从零开始(三)Requests库_第12张图片

 

到这里我们把POST方法也大概说了一遍,和get的方法基本一致。

响应:

  response属性:

python爬虫---从零开始(三)Requests库_第13张图片

  状态码其实是有一个分组的,我们先来一个简单的示例:

python爬虫---从零开始(三)Requests库_第14张图片

在这里我们大家列出了所有的状态码:

python爬虫---从零开始(三)Requests库_第15张图片

有了这些状态码,我们也可以这样来写:

python爬虫---从零开始(三)Requests库_第16张图片

 Requests高级操作

  文件上传

python爬虫---从零开始(三)Requests库_第17张图片 python爬虫---从零开始(三)Requests库_第18张图片

 

获得cookie

python爬虫---从零开始(三)Requests库_第19张图片

 

保持会话:

python爬虫---从零开始(三)Requests库_第20张图片

  在这里我们看到cookie并没有被设置成功,这样访问,其实我们是发起了两次请求,我们在这里需要设置一个session对象,使其保持会话状态。示例如下

python爬虫---从零开始(三)Requests库_第21张图片

这样我们就成功的设置了保持会话。不担心cookie设置问题,Requests会帮我们自动设置好的。

SLL证书验证:

python爬虫---从零开始(三)Requests库_第22张图片

现在的这种状态是不安全的,会给予警告提示。我们可以这样来继续设置证书:

python爬虫---从零开始(三)Requests库_第23张图片

我们也可以手动的删除警告信息,需要倒入原生的urllib3的包,我们来看一下效果:

python爬虫---从零开始(三)Requests库_第24张图片

代理设置:

由于我这没有代理ip,我简单写了一个示例,大家有代理的可以自行更改ip端口进行尝试

python爬虫---从零开始(三)Requests库_第25张图片

代理如果有账户密码时,我们可以这样来写

python爬虫---从零开始(三)Requests库_第26张图片

超时设置:

python爬虫---从零开始(三)Requests库_第27张图片

认证设置:

python爬虫---从零开始(三)Requests库_第28张图片

python爬虫---从零开始(三)Requests库_第29张图片

以上两种认证方式都是可以的。

异常处理: 刚才我们在设置超时的时候就见过一个异常处理,下面我们来看下异常处理

python爬虫---从零开始(三)Requests库_第30张图片

这里只写了几个常见的异常,详细的我们可以进入官网查看,地址: https://docs.python-requests.org/ (可能需要翻墙)

以上我们就对Requests库基本都介绍一遍了,希望对大家有所帮助。

下篇文章我会来介绍一下BeautifulSoup库的使用。

上述代码地址:https://gitee.com/dwyui/Requests

          
                      感谢大家的阅读,不正确的地方,还希望大家来斧正,鞠躬,谢谢。
          
        

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论