response = self.session.post(skip_url, data=body, headers=headers)
# 处理响应
if response.status_code == 200:
print(response.text)
因为网站是gbk编码,得到的结果是下图这样的乱码,应该怎样修改才能正确显示汉字内容?

response = self.session.post(skip_url, data=body, headers=headers)
# 处理响应
if response.status_code == 200:
print(response.text)
因为网站是gbk编码,得到的结果是下图这样的乱码,应该怎样修改才能正确显示汉字内容?

下午好🌅🌅🌅
本答案参考通义千问
在处理网页内容时,如果服务器返回的内容不是UTF-8编码而是GBK编码,直接使用response.text可能会导致乱码问题。你需要显式地指定编码方式,以确保正确解码文本。
以下是解决该问题的步骤:
下面是修改后的代码示例:
import requests
# 创建会话对象
self.session = requests.Session()
# 发送POST请求
response = self.session.post(skip_url, data=body, headers=headers)
# 设置响应的编码为GBK
response.encoding = 'gbk'
# 处理响应
if response.status_code == 200:
# 使用GBK编码解码响应内容
print(response.text)
self.session = requests.Session() 用于保持会话状态,例如cookies等。response = self.session.post(skip_url, data=body, headers=headers) 发送HTTP POST请求。response.encoding = 'gbk' 显式地将响应内容的编码设置为GBK。if response.status_code == 200: 检查请求是否成功。如果是200,使用GBK编码解码响应内容并打印。通过这种方式,你可以确保从服务器接收到的GBK编码的文本能够被正确解码和显示。