python用requests模块时,调用text方法出现中文乱码的解决办法
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