響應內容 我們能讀取服務器響應的內容。再次以 GitHub 時間線為例: >>> import requests >>> r = requests.get('https://api.github.com/events') >>> r.text u'[{"repository":{"open_issues":0,"url":"https://github.com/... Requests 會自動解碼來自服務器的內容。大多數 unicode 字符集都能被無縫地解碼。 請求發出后,Requests 會基於 HTTP 頭部對響應的編碼作出有根據的推測。 當你訪問 r.text 之時,Requests 會使用其推測的文本編碼。你可以找出 Requests 使用了什么編碼,並且能夠使用 r.encoding 屬性來改變它: >>> r.encoding #返回編碼格式 'utf-8' >>> r.encoding = 'ISO-8859-1' #設置編碼格式 如果你改變了編碼,每當你訪問 r.text ,Request 都將會使用 r.encoding 的新值。 你可能希望在使用特殊邏輯計算出文本的編碼的情況下來修改編碼。 比如 HTTP 和 XML 自身可以指定編碼。這樣的話,你應該使用 r.content 來找到編碼,然后設置 r.encoding 為相應的編碼。這樣就能使用正確的編碼解析 r.text 了。 ---------------------------------------------------------------------------- import requests response = requests.get("https://www.baidu.com") print(response.url) #返回請求的url:https://www.baidu.com/ print(response.status_code) #獲取響應狀態碼:200 print(response.encoding) #返回當前的編碼格式:ISO-8859-1 response.encoding = 'utf-8' #設置編碼格式 print(response.encoding) #返回:utf-8 說明上一步設置成功 print(response.content) #返回:b'<!DOCTYPE html>\r\n<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8> <meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer> 執行結果: https://www.baidu.com/ 200 ISO-8859-1 utf-8 b'<!DOCTYPE html>\r\n<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8> <meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer> =============================================================================================================================