關於python用requests模組時,呼叫text方法出現中文亂碼的解決辦法

callMeLobster發表於2016-08-04
版權說明:未經許可,不得轉載
以本部落格為例,詳細程式碼如下:
import requests
r = requests.get('http://blog.sina.com.cn/weekdawn')
print r.text

這樣直接執行後,會報錯:
UnicodeEncodeError: 'gbk' codec can't encode character u'\xe6' in position 260: illegal multibyte sequence

然後我加了一行程式碼檢視原因:
r.encoding

執行後,顯示的編碼為:
ISO-8859-1

很奇怪對不對,不過既然知道原因了就不用在意這種細節,只需要在呼叫text方法之前,修改一下編碼即可,如下:
import requests
r = requests.get('http://blog.sina.com.cn/weekdawn')
r.encoding = 'utf-8' #這裡新增一行
print r.text

這樣過後再執行,完美解決中文亂碼問題!

-----------------------------------------@weekdawn 版權所有-------------------------------------------------

相關文章