Python美丽的汤编码

时间:2012-01-30 17:27:22

标签: python encoding beautifulsoup

我有美丽的汤问题。 我尝试在字符串中删除html标签,因此我有以下功能

def cleanHtml(self, html):
    try:
        soup = BeautifulSoup(html);
        content = soup.findAll(text=True)
        return ''.join(content);
    except:
        print html

我现在这样做:

print {'title' : string_with_german_umlauts}
print {'title' : self.cleanHtml(string_with_german_umlauts)}

我为字符串'LederGürtel'(意为皮带)获得以下输出

{'title': 'Leder G\xc3\xbcrtel'}
{'title': u'Leder G\xfcrtel'}

对于变音符号'ü',正确的编码当然是\ xc3 \ xbc。 在努力工作一整天后,我会放弃并询问; - )

我感谢任何帮助 THX

1 个答案:

答案 0 :(得分:1)

您的结果中有变音符号的事实是预期的行为。美丽的汤处理unicode,所以这是预期的。这里有什么问题?是你在字典中没有看到变音符号吗?如果是这样,那根本不是问题,因为在打印时,变音符号将正确显示:

>>> d = {'title': u'Leder G\xfcrtel'}
>>> for k in d:     
...     print k, d[k]
...
title Leder Gürtel

希望这有帮助