response.text 和response.content的區別



返回 我的技術棧(Technology Stack)



response.text

類型:str
response.text 返回的是Unicode格式的數據
解碼類型: 根據HTTP 頭部對響應的編碼作出有根據的推測,推測的文本編碼
修改編碼方式:response.encoding="gbk"

使用response.text 時,Requests 會基於 HTTP 響應的文本編碼自動解碼響應內容,大多數 Unicode 字符集都能被無縫地解碼。

response.content

類型:bytes
response.content返回的字節流數據
解碼類型: 沒有指定
修改編碼方式:response.content.deocde("utf8"), 可以不寫默認就是utf-8

使用response.content 時,返回的是服務器響應數據的原始二進制字節流,可以用來保存圖片等二進制文件。


更推薦使用response.content.deocde()的方式獲取響應的html頁面
當收到一個響應時,Requests 會猜測響應的編碼方式,用於在你調用response.text 方法時對響應進行解碼。Requests 首先在 HTTP 頭部檢測是否存在指定的編碼方式,如果不存在,則會使用 chardet.detect來嘗試猜測編碼方式(這樣存在誤差),所以更推薦使用response.content.deocde()



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM