python解析html页面:如何解码 字符?

时间:2014-05-30 09:13:18

标签: python parsing utf-8

我正在尝试解析像这样的HTML页面

# coding: utf8
[...]
def search(self, a, b):
    word = self.champ_rech_canal.get_text()
    url_canal = "http://www.canalplus.fr/pid3330-c-recherche.html?rechercherSite=" + mot_canal
    try:
       f = urllib.urlopen(url_canal)
       self.feuille_canal = f.read()
       f.close()
    except: 
       self.champ_rech_canal.set_text("La recherche a échoué")
       pass
    print self.feuille_canal

结果很好,我也有“ ”或“ô” 我怎么解码呢? 尝试:

self.feuille_canal = self.feuille_canal.decode("utf-8")

结果:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 8789: invalid continuation byte

1 个答案:

答案 0 :(得分:1)

您正在尝试将ISO-8859-1页面解码为UTF-8,但无法正常工作。请参阅返回的HTML中的内容标题:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />