requests库
requests库
[toc]
一、请求方法
| 方法 | 说明 |
|---|---|
| requests.request() | 构造一个请求,支持以下各方法的基础方法 |
| requests.get() | 获取HTML网页的主要方法,应对HTTP的GET |
| requests.head() | 获取HTML网页头信息的主要方法,应对HTTP的HEAD |
| requests.post() | 获取HTML网页的POST方法,应对HTTP的POST |
| requests.put() | HTML网页的POST方法,应对HTTP的POST |
| requests.patch() | 获取HTML网页的PUT方法,应对HTTP的PUT |
| requests.delete() | 向HTML网页提交删除方法,应对HTTP的DELETE |
request方法介绍
1 | request.request(method,url,**kwargs) |
method:请求方式,对应get/put/post等7种
url:拟获取页面的url链接
**kwargs:**控制访问的参数,共13个,均为可选项
params:字典或字节序列,作为参数添加到url中相当于get()提交
data:字典、字节序列或文对象,作为Request的内容
json:JSON格式的数据,作为Request的内容
headers:字典,头字段
cookies:字典或CookieJar,Request中的cookie
authentic:元组,支持HTTP认证功能
files:字典类型,传输文件
timeout:设置超时时间,秒为单位
proxies:字典类型,设置访问代理服务器,可以增加登录认证
allow_redirects:True/False,默认为Ture,重定向开关
stream:True/Flase,默认为True,获取内容立即下载
verify:True/Flase,默认为True,认证SSL证书开关
cert:本地SSL证书路径
get方法介绍
1 | requests.get(url,params=None,**kwargs) |
url:拟获取的url链接
params:url的额外参数,字典或字节流,可选
**kwargs**:12个控制访问的参数
requests库的2个重要对象
1 | r=request.get(url) |
包含两个重要对象:Response对象与Request对象
Response对象:包含爬虫返回的内容
| 属性 | 说明 |
|---|---|
| r.status_code | HTTP请求的返回状态 |
| r.text | HTTP响应内容的字符串形式 |
| r.encoding | 从HTTP header中猜测的响应内容编码方式 |
| r.apparent_encoding | 从内容中分析出的响应内容编码方式(备选编码方式) |
| r.content | HTTP响应内容的二进制形式 |
1 | flowchart TD |
Post方法介绍
1 | requests.post(url,data=None,json=None,**kwarges) |
url:拟更新页面的url链接
data:字典、字节序列或文件,Request的内容
json:JSON格式的数据,Request的内容
**kwarges:**11个控制访问的参数
Put方法介绍
1 | requests.put(url,data=None,**kwarges) |
url:拟更新页面的url链接
data:字典、字节序列或文件,Request的内容
**kwargs**:12个控制访问的参数
Patch方法介绍
1 | requests.patch(url,data=None,**kwarges) |
url:拟更新页面的url链接
data:字典、字节序列或文件,Request的内容
**kwargs**:12个控制访问的参数
delete方法介绍
1 | requests.delete(url,**kwarges) |
url:拟更新页面的url链接
**kwargs**:12个控制访问的参数
二、Request的异常
| 异常 | 说明 |
|---|---|
| requests.ConnectionError | 网络连接错误异常,如DNS查询失败、拒绝连接 |
| requests.HTTPError | HTTP错误异常 |
| requests.URLRequired | URL缺失异常 |
| requests.TooManyRedirects | 超过最大重定向次数,产生重定向异常 |
| requests.ConnectTimeout | 连接远程服务器超时异常 |
| request.Timeout | 请求URL超市,产生超时异常 |
解决方法
| 异常 | 说明 |
|---|---|
| r.raise_for_status | 如果不是200,产生异常requests.HTTPError |



