我不明白为什么当我使用Requests library发出HTTP请求时,我要求显示命令.text,特殊字符(例如重音符号)被编码(例如é=é)。
然而,当我尝试r.encoding时,我得到utf-8
此外,这个问题只出现在一些网站上。有时我有正确的性格,但有时,一点也不。
尝试如下:

r = requests.get("https://gks.gs/login")
print r.text

显示的是编码字符,我们可以看到Mot de passe oublié ?
我不明白为什么。你认为这可能是因为https?请问怎么修?

最佳答案

这些是HTML character entity references,最简单的解码方法是:
在Python 2.x中:

>>> import HTMLParser
>>> HTMLParser.HTMLParser().unescape('oublié')
'oublié'

在Python 3.x中:
>>> import html.parser
>>> html.parser.HTMLParser().unescape('oublié')
'oublié'

09-10 14:08