【发布时间】:2021-04-17 15:59:16
【问题描述】:
在 python 3 中,我正在向具有以下希伯来语文本的网站发送获取请求:
לימודי הסמכה בטכניון | רישום
但是当我像这样打印响应时:
response = requests.get(url, headers=headers, cookies=cookies)
print(response.content)
我明白了:
\xd7\x9c\xd7\x99\xd7\x9e\xd7\x95\xd7\x93\xd7\x99 \xd7\x94\xd7\xa1\xd7\x9e\xd7\x9b\xd7\x94 \xd7\x91\xd7\x98\xd7\x9b\xd7\xa0\xd7\x99\xd7\x95\xd7\x9f | \xd7\x94\xd7\x96\xd7\x93\xd7\x94\xd7\x95\xd7\xaa
如何解决这个问题并打印正常输出?
这是我的标题,因为它们可能会有所帮助。
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:84.0) Gecko/20100101 Firefox/84.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.5',
'Accept-Encoding': 'gzip, deflate',
'Connection': 'close'
}
【问题讨论】:
-
您可能会得到正确答案。看来您的终端(所以
print)无法打印 UTF-8 字符,因此 Python 仅对您的终端使用转义。如果您得到正确的结果,您应该检查浏览器。不要相信控制台(和print) -
我正在使用 pycharm 终端,我该如何解决这个问题?
-
首先在您的调试器中,您在 response.text 下看到了什么?你需要找到适合你的编码器
-
请edit您的问题包含 response 标题。
标签: python http encoding get hebrew