Requests模块官方中文文档详解链接:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
Py.qi的博客:https://www.cnblogs.com/zhangxinqi/p/9201594.html#_label1
这两篇文章对Requests库进行了详细的介绍,请先阅读!阅读完就不用看下文了,哈哈!
以下为个人简要总结:
1、安装requests库
pip install requests
Requests的依赖包关系(安装reuquests时会同事安装下面四个模块):
certifi #CA认证模块
chardet #通用字符编码检测器模块
idna #国际化域名解析模块
urllib3 #线程安全HTTP库
2、Requests使用(只介绍GET 和POST请求)
GET请求
最简单的不带参数的请求:
import requests
r = requests.get('https://www.csdn.net/api/articles') # 这是CSDN首页的一个请求接口,可以试试跑一下
传递参数的请求:
import requests
payload = {'key1': 'value1', 'key2': 'value2', 'key3': None}
r = requests.get(url, params=payload)
传递headers:
import requests
header = {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
r = requests.get(url, headers=header)
传递cookie:
import requests
url= http://test.com/cookies
r = requests.get(url, cookies=dict(cookies_are='working'))
获取请求接口的返回值:
r.text 返回headers中的编码解析的结果,可以通过r.encoding = 'gbk'来变更解码方式,另r.text获取的数据是字符串str格式
r.content 返回二进制结果
r.json()返回JSON格式,常用的格式,可能抛出异常
r.status_code ,响应成功返回200
POST请求
传递表单:
import requests
data = {'key1': 'value1', 'key2': 'value2'}
r = requests.get(url, data=data)
传递文件:
import requests
files = {'file': open('report.xls', 'rb')}
r = requests.post(url, files=files)
# 配置files,filename, content_type and headers
files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
files = {'file': ('report.csv', 'some,data,to,send\nanother,row,to,send\n')}
获取请求的返回值和GET请求类似