namedtuple
> from collections import namedtuple
> # 声明类 namedtuple 有命名的元组类
Response = namedtuple('Response',
['headers','code','text','body','encoding'])
1.requests库
requests库是一个网络请求库,基于urllib和urllib3封装的便捷网络请求库
1.1 安装
在Pycharm的Terminal中输入
pip install requests -i https://mirrors.aliyun.com/pypi/simpie
1.2 核心函数
- requests.request() 所有方法的基本方法
request方法的参数说明- method: 指定请求方法,GET,POST,PUT,DELETE
- url :请求的资源接口(API),在RESTful规范中是URI
- params :字典,要发送的元组或字节列表
- requests.get() 发起GET请求,查询数据
- requests.post() 发起POST请求,上传数据
- requests.put() 发起PUT请求,修改或更新数据
- requests.patch() HTTP幂等性,可能会出现重复处理,不建议使用。
- requests.delete() 发起DELETE请求,删除数据
# 两种方式是一样的
resp = requests.request('get',url)
resp = requests.get(url)
1.3 requests.Request
该请求方法返回的对象类型是Response,对象常用属性如下
- status_code: 响应状态码
- url :请求的url
- headers :dict响应的头,不包含cookie
- cookie :可迭代的对象,元素是Cookie类对象(url,value,path)
- text:响应的文本信息
- content: 响应的字节数据
- encoding:响应数据的编码字符集,如utf_8,gbk,gb123
- json():如果响应数据类型为application/json,则将响应的shujv进行反序列化为python的list或dict对象
扩展:javascript的序列化与反序列化
-JSON.stringify(object) 序列化
JSON.parse(text) 反序列化
1.4 实例
import request
requ = requests.request('GET', 'https://httpbin.org/get')
print(req)
<Response [200]>