1. 程式人生 > >python request中的content和text的區別

python request中的content和text的區別

一直不清楚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適用於顯示文字資料,編碼根據伺服器的響應來顯示,也可以自己設定