requests模块
发送请求获取响应
1. 发送请求的方法
- requests.get(url)
- requests.post(url)
- requests.session().get(url)
- requests.session().post(url)
2. 发送请求方法的参数
- headers={请求头}
- cookies={cookies}
- params={查询字符串}
- data={post请求独有的请求体}
- timeout=3 # 最大超时时间3秒
- verify=False # 忽略ssl安全认证
3. response响应对象常用属性
- response.url
- response.status_code
- response.headers # {}
- response.request.headers # {}
- response.cookies # cookieJar
- response.request._cookies # cookieJar
- response.text # str
- response.content # bytes
4. 解决中文乱码
- response.content.decode(utf8)
ascii gbk gb2312 iso-8859-1
5. requests.session()的作用
能够自动处理cookies,达到状态保持的目的
- 发送请求时,会自动带上前次的cookies
- 获得响应时,会自动保存被set的cookie
6. cookieJar和cookies_dict互相转换
- cookies_dict = requests.utils.dict_from_cookiejar(response.cookies)
- cookies_jar = requests.utils.cookiejar_from_dict(cookies_dict)
7. 关闭warning级别的提示信息
- requests.packages.urllib3.disable_warnings()
8. retry的是使用
- retrying.retry装饰器能够让被装饰的函数在发生异常时,按规定的此时进行重试
from retrying import retry
@retry(stop_max_attempt_number=3)
def func():pass
# stop_max_attempt_number=3表示重试最多3次