我正在尝试获取一些网站的片段。该脚本有效,但它是一个具有á,é,í,ó,ú等重音符号的网站。
当我使用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')
但是,我不断得到看起来没有编码的结果。
例如:urllib2获取后,网站上的“Milán”=“Mil \ xe1n”
有什么建议吗?
答案 0 :(得分:2)
您的脚本运行正常。 "\xe1"
字符串是解码产生的unicode
对象的表示。例如:
>>> "Mil\xc3\xa1n".decode('utf-8')
u'Mil\xe1n'
"\xc3\xa1"
序列是带有变音符号的字母a的UTF-8序列:á。