requests库概述
Python内置的urllib库在对于Cookies,登录验证,代理方面等操作太繁琐。而requests库在这些方面却做得很好!
请求方法:get(),返回一个Response对象
参数:url,data,headers,proxies,verity,timeout
1、url:请求的URL
2、data:模拟表单,参数是传一个字典
3、headers:请求头,伪装成浏览器
4、proxies:防止被封IP,参数是传一个字典
5、timeout:超时设置
6、verify:SSL证书验证,默认是True
属性:
text:返回Unicode内容;
content:返回字节流内容
status-code:状态码
cookies:返回cookies
其他重要方法:
post():使用post请求
Session():获取会话维持
get()和post()的区别
1、 get:表单数据会附在url之后(HTTP协议头)
post:数据不会附在url之后(HTTP包的包体中)
2、 get:对URL长度有限制
post:理论上不限制
3、 get:可被缓存
post:不可被缓存(安全性高)
response对象的text和content区别
content返回的是byte型数据,而text返回的是Unicode数据
代码演示:import requests #请求字节流文件 r = requests.get('https://p1.ssl.qhimg.com/t0151320b1d0fc50be8.png') print(r.text)#已经以某种格式进行解码,出现乱码 print(r.content)#返回文件的bytes数据 with open('360.png','wb') as f: f.write(r.content)
cookies获取
使用response对象的cookies属性获取for key,value in r.cookies.items(): print(key,':',value)