作者:虫虫2彡0120106 | 来源:互联网 | 2023-10-11 18:39
一直不清楚requestes的content和text方法的区别,只知道content返回的是二进制数据,而text返回的是文本数据先看看content的源码:注释可知conten
一直不清楚requestes的content和text方法的区别,只知道content返回的是二进制数据,而text返回的是文本数据
先看看content的源码:
注释可知content返回的是bytes型也就是二进制的数据
在看看text的源码:
意思是requests.text是根据网页的响应来猜测编码,如果服务器不指定的话,默认编码是"ISO-8859-1"所以这是为什么有些时候用 response.text 返回的是乱码的原因。
可以用response.encoding看一下他猜测的编码是啥。然后用response.encoding = ‘utf-8‘来设置编码
实例如下:
1 import requests
2 respOnse=requests.get(‘http://www.qq.com‘)
3 response.encoding
4 >>‘GB2312‘
View Code
1 >>> response.encoding="UTF-8"
2 >>> response.encoding
3 ‘UTF-8‘
View Code
总结:
content用来返回二进制数据,适用于保存二进制数据,例如图像,文件等
text适用于显示文本数据,编码根据服务器的响应来显示,也可以自己设置
python request中的content和text的区别