Get请求
requests.get(url)->Response
示例:
url = 'http://httpbin.org/get'
r = requests.get(url)
r.text是返回的内容,为str类型
r.json()可以将json格式的字符串解析为dict类型
r.content是返回的二进制码,当请求的内容为图片、音视频时使用
可以直接在get方法添加添加headers,paras等参数
Post请求
requests.post(url)->Response
使用data参数添加的dict类型的内容会被解释为form,相当于表单提交的数据。
响应
响应对象Request有status_code、header、cookies、url、history等属性,history是历史请求,此外resuests还提供了状态码查询对象requests.codes
使用方法如下
文件上传
Cookies
response.cookies获取响应对象的cookies,cookies为RequestsCookieJar的对象,可以遍历cookies内容
可以直接复制cookies到headers中发起请求
也可以手动构造RequestsCookieJar对象,使用set()添加cookie内容
Session会话
网站会使用cookies来保持用户登陆状态,但是爬虫在多次请求中使用cookies来保持状态很烦琐,可以使用requests.Session来维持一个会话
示例如下:
不同请求没有保持cookies
使用session对象
SSL证书验证
例如访问12306,因为12306使用自己发布的证书,所以访问12306会报错,可以将get的参数verify设置为false或者指定本地证书
设置verify会报警告,可以设置忽略警告
也可以捕获警告到日志
指定本地证书
代理
http/https代理
socks协议代理
身份认证
简写为
oauth认证需要使用pip 安装 requests_oauthlib
使用方法
Request类
与urllib中的request类相似