我正在使用请求lib发出请求,正如在页面编码为utf-8的内容中可以看到的那样,请求使用的默认值是utf-8,如r.encoding中所示,但为什么会显示读取文本时出现unicode错误。
r = requests.get(url, auth=('username', 'password'))
print r.status_code
print r.encoding
print r.content
print r.text
输出:
200
UTF-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Sign In</title><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/><meta http-equiv="content-type" content="text/html; charset=utf-8"/>.............
Traceback (most recent call last):
File "E:\Python practise programms\reuters.py", line 18, in <module>
print r.text
UnicodeEncodeError: 'ascii' codec can't encode characters in position 2307-2309: ordinal not in range(128)
答案 0 :(得分:1)
这是由于默认情况下不支持utf-8的崇高文本。我能够在python IDLE
中获得输出