美文网首页
requests模块常用场景汇总

requests模块常用场景汇总

作者: henYee | 来源:发表于2017-11-16 17:01 被阅读0次

requests是使用Python语言编写的第三方网络请求库,其用法相较于urllib更加方便,可以节省大量的开发工作。

urllib获取一个请求的过程需要经过:请求编码、请求实例化、回包实例化、回包解码

get请求

1、request = urllib.request.Request(url,headers)

2、response = urllib.request.urlopen(request)

3、response = response.read().decode(‘utf-8’)回包解码

4、json_respon = json.loads(response)json格式解码

post请求

1、data = data.encode(‘urf-8’) 字符编码

2、request = urllib.request.Request(url,headers)

3、response = urllib.request.urlopen(request,data)

4、json_response = json.loads(response)json格式解码

requests则自带编码、解码、json解码的神技能,可以省去很多繁琐的步骤


请求参数:

params = {key1:value1,key2:value2,...}#URL传递参数

headers = {key1:value1,key2:value2,...}#请求头

data = {key1:value1,key2:value2,...}#post请求数据

data = json.dumps(data)

timeout = 3 #设置超时时间为3秒


data为json数据时,需要调用json.dumps方法格式化转成字符串格式

json.dumps:dict转成str,转换对象是字符串

json.loads:str转成dict,转换对象是字符串

json.dump:dict转成str,转换对象是文件

json.dump:str转成dict,转换对象是文件

dict:{'name':'many', 'age': 10, 'sex': 'male'}

json:{"name":"many", "age": 10, "sex": "male"}


请求类型:

req = requests.get(url,params=params,headers=headers,timeout=timeout)  #获取

req = requests.post(url,data=data,headers=headers,timeout=timeout)   #请求服务器接受所指定的文档作为对所标识的URI的新的从属实体

req = requests.put(url)   #更新

req =requests.delete(url)   #删除

req =requests.head(url)   #只请求页面的首部

req =requests.option(url)   #允许客户端查看服务器的性能


获取响应内容:

req.json()  #json格式处理(requests自带的json解码器)

req.content  #以字节的方式显示

req.text  #以文本的方式显示

req.raw  #返回原始响应体

req.headers  #以字典对象存储服务器响应头

req.encoding  #获取网页编码格式

req.status_code  #获取响应状态码

req.cookies[‘example_cookie_name’]   #读取cookies

req.raise_for_status()   #失败请求(非200)抛出异常


proxies = {“http”:http1,”https”:http2}#设置代理

持久性连接...


未完,待续

相关文章

网友评论

      本文标题:requests模块常用场景汇总

      本文链接:https://www.haomeiwen.com/subject/huflvxtx.html