我是一个python的新手,我试图获取一个中文网站的内容,我可以得到响应r
,但不幸的是,它有一个编码/解码问题。即,中文字符没有被正确地显示。
import requests
r =requests.get('http://www.example.com')
print (r.encoding)
print (r.content)
上面的代码会将编码打印为“ISO-8859-1”
响应的内容包含如下信息
<?xml version="1.0" encoding="gb2312"?>
我也看到过类似的东西
<head>\n<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
中文字符显示为类似\xbe\xc9\xbd\xf0\xc9\xbd
的内容,这应该是三个中文字符。谁能告诉我应该怎么做才能正确显示字符?
我正在尝试在Python 3.4.2中做到这一点。
2条答案
按热度按时间gz5pxeao1#
对不起,我不知道你的确切编码类型,但通常它足够用途:
或
据我所知。请给予一下。
whitzsjs2#
另一种方法是直接设置响应的解码。
目前,utf8已成为中国网站最流行的编码,通过检查页面的编码,可以正确设置请求响应。我在一篇文章Chinese Encoding with Python Requests Library中总结了解决方案。