4.17. 常用第三方库

4.17.1. requests

requests是对urllib的一个特别好的封装,是最适合人类使用的http请求库

4.17.1.1. 安装方式

pip install requests

4.17.1.2. 导入方式

import requests

4.17.1.3. 发送请求

常见的请求发送为:

res = requests.get(url="http(s)://xxxxxx.xxx",params={"k1": "v1", "k2": "v2"}, headers={"a": "a1", "b": "b1"})  # params为字典或字节序列,作为参数增加到url中
res = requests.post(url="http(s)://xxxxxx.xxx",data={"k1": "v1", "k2": "v2"}, headers={"a": "a1", "content-type": "application/x-www-form-urlencoded"})  # data在表单格式提交时首页
res = requests.post(url="http://xxxxxx.xxx",json={"k1": "v1", "k2": "v2"}, headers={"a": "a1", "content-type": " application/json"})  # json在json格式提交是使用
# 其他
res = requests.head()
res = requests.put()
res = requests.delete()
res = requests.patch()
................
# 或者通过requests.request(method,url,**kwargs),如:
res = requests.request(method='GET',url="http://xxxxxx.xxx",......)
res = requests.request(method='POST', url="http://xxxxxx.xxx", ......)

其他常用的参数

  1. 超时设置:单位秒,支持小数点(float类型),不配置则永久不超时,timeout=6,代表接口6秒停止请求并抛出异常
  2. 代理设置:用于配置接口代理,通常需要抓包时使用,proxies={“http”:”http://ip:port”,”https”:”https://ip:port”}
  3. cookies:模拟浏览器请求时进程会用到,cookies={“a”: “a1”, “b”: “b1”}

还有别的一些不太常用的这里就不一一列举了作用了

  1. allow_redirects,布尔型,默认为True,重定向开关
  2. verify,布尔型,默认为True,认证SSL证书开关
  3. cert,本地SSL证书
  4. auth,元组,支持HTTP认证功能
  5. stream,布尔型,默认为True,获取内容立即下载开关
  6. files,字典类型,传输文件

4.17.1.4. 获取返回值

常见的返回值包括:

res.status_code  # 接口响应码
res.text  # 响应内容,str格式
res.json()  # json格式时使用,会转成字典格式方便取值(非json格式时会报错)
res.content  # 响应内容,二进制格式
res.headers  # 响应的headers,字典格式,可以取值
res.encoding  # 响应编码
res.request.xxx  # xxx可以是url,headers等请求的数据,用于获取请求数据
res.elapsed.total_seconds()  # 获取响应所用总时长,单位秒

4.17.2. json

4.17.2.1. 导入方式

import json

4.17.2.2. 常用方法

函数 叙述
json.dumps 将 Python 对象编码成JSON字符串
json.loads 将已编码的 JSON 字符串解码为Python对象