我正在尝试获取某个网站的一部分。该脚本有效,但它是一个带有 á、é、í、ó、ú 等重音符号的网站。
当我使用 urllib 或 urllib2 获取网站时,网站源代码未采用 utf-8 编码,而我希望如此,因为 utf-8 支持这些重音符号。
我相信目标站点是用 utf-8 编码的,因为它包含以下元标记:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
我的Python脚本:
opener = urllib2.build_opener()
opener.addheaders = [('Accept-Charset', 'utf-8')]
url_response = opener.open(url)
deal_html = url_response.read().decode('utf-8')
但是,我不断得到的结果看起来好像没有采用 utf-8 编码。
例如:urllib2 获取网站上的“Milán”=“Mil\xe1n”
有什么建议吗?
最佳答案
您的脚本运行正常。 "\xe1"
字符串是解码后生成的 unicode
对象的表示形式。例如:
>>> "Mil\xc3\xa1n".decode('utf-8')
u'Mil\xe1n'
"\xc3\xa1"
序列是 UTF-8带有变音符号的字母 a 的序列:á.
关于python - urllib : get utf-8 encoded site source code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10048438/