Python requests库解析网页中文乱码问题解决方案
使用 Python 的 requests 库获取网页内容时,经常会遇到中文乱码的问题。比如,以下代码:
import requests
url = 'https://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=19319429'
response = requests.get(url)
response.encoding = 'gbk' # 设置编码为gbk
data = response.text
print(data)
运行后输出的中文部分仍然是乱码,例如 '叶锟斤拷锟斤拷(锟斤拷D)'。
如果尝试了 utf-8 和 gbk 编码,但仍然无法正确显示中文,可能是因为网页返回的编码与你设置的编码不匹配。
你可以尝试使用 response 的 apparent_encoding 属性来自动识别编码,并将其设置为 response 的编码。
以下是修改后的代码:
import requests
url = 'https://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=19319429'
response = requests.get(url)
response.encoding = response.apparent_encoding # 自动识别编码
data = response.text
print(data)
这样做可以确保使用正确的编码来解析网页内容。如果仍然无法正确显示中文,请检查网页返回的编码是否正确。
原文地址: https://www.cveoy.top/t/topic/o4wj 著作权归作者所有。请勿转载和采集!