欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Requests库的使用

程序员文章站 2022-06-23 22:38:06
发起请求 接收响应 session对象 发起请求 请求方法 get、post、head、options、delete、put 传递URL参数 构造一个字典,并在请求时将其传递给params参数 提交数据时,遇到相同的参数名,但有不同的值,而python的字典又不支持键的重名,可以把键的值用列表表示 ......
  1. 发起请求
  2. 接收响应
  3. session对象

发起请求

请求方法

get、post、head、options、delete、put

Requests库的使用

 

传递url参数

构造一个字典,并在请求时将其传递给params参数

Requests库的使用

Requests库的使用

提交数据时,遇到相同的参数名,但有不同的值,而python的字典又不支持键的重名,可以把键的值用列表表示

Requests库的使用

Requests库的使用

 

自定义headers

Requests库的使用

 

自定义cookies

在headers中添加

Requests库的使用

cookies参数(必须为字典形式)

Requests库的使用

 

设置代理(proxies参数)

Requests库的使用

 

重定向

allow_redirects=false 禁止重定向

Requests库的使用

Requests库的使用

history 属性可以查看历史记录,从哪个网站过来的,重定向过来的会显示重定向的状态码

 

禁止证书验证

把verify参数设置为false

禁止证书验证后,会有warning

 

关闭警告

from requests.packages.urllib3.exceptions import insecurerequestwarning

requests.packages.urllib3.disable_warnings(insecurerequestwarning)

 

设置超时      timeout属性

以流形式下载    stream=true

 

 

 

接收响应

响应内容

text属性,返回的是文本内容

Requests库的使用

 

字符编码

requests会自动的根据响应的报头来猜测网页的编码是什么,然后根据猜测的编码来解码网页内容,基本上大部分的网页都能够正确的被解码

而如果发现text解码不正确的时候,就需要自己手动的去指定解码的编码格式

Requests库的使用

 

二进制数据

如果需要获得原始的二进制数据,那么使用content属性即可

Requests库的使用

 

json数据

如果访问之后获得的数据是json格式的,那么可以使用json()方法,直接获取转换成字典格式的数据

Requests库的使用

 

状态码

通过status_code属性获取响应的状态码

Requests库的使用

 

响应报头

headers属性

Requests库的使用

 

服务器返回的cookies

cookies属性

Requests库的使用

 

查看访问的url

url属性

Requests库的使用

 

 

 

session对象

在requests中,实现了session(会话)功能,当我们使用session时,能够像浏览器一样,在没有关闭浏览器时,能够保持住访问的状态

这个功能常常用于登陆之后的数据获取,使我们不用再一次又一次的传递cookies

 

首先生成一个session对象,然后用这个session对象来发起访问,发起访问的方法与正常的请求一摸一样

Requests库的使用

 

需要注意的是,如果是在get()方法中传入headers和cookies等数据,那么这些数据只在当前这一次请求中有效

如果想要让一个headers在session的整个生命周期内都有效的话,需要进行设置:session.headers.updata(headers)

Requests库的使用