python 脚本重定向到文件遭遇 UnicodeDecodeError 时需要设置环境变量 PYTHONIOENCODING, 可以在 .bashrc 中加入如下内容:
export PYTHONIOENCODING=UTF-8
requests 通过 http header 信息来确定网页的编码信息,如果编码信息不存在就会默认为 ISO-8859-1,当 http header 中不包含编码信息时会发生乱码。
其实 requests 库中已经包含了猜测编码的功能。我们可以在访问 r.text 属性之前设置 r.encoding = r.apparent_encoding 来设置正确的页面编码。
r.text
r.encoding = r.apparent_encoding