我有一串转义的html标记'í'
,我希望它能使用正确的重音字符'í'
。
阅读了SO,这是我的尝试:
messy = 'í'
print type(messy)
>>> <type 'str'>
decoded=messy.decode('utf-8')
print decoded
>>> í
Drats。阅读here后,我尝试了这个:
from BeautifulSoup import *
soup = BeautifulSoup(messy, convertEntities=BeautifulSoup.HTML_ENTITIES)
print soup.contents[0].string
>>> í
仍然没有工作,所以我测试了我之前链接的SO问题的例子。
html = 'Ä'
soup = BeautifulSoup(html, convertEntities=BeautifulSoup.HTML_ENTITIES)
print soup.contents[0].string
>>> Ä
这个有效。有谁看到我错过了什么?
答案 0 :(得分:0)
使用HTMLParser.HTMLParser.unescape
:
>>> import HTMLParser
>>> parser = HTMLParser.HTMLParser()
>>> parser.unescape('í')
u'\xed'
>>> print parser.unescape('í')
í
在Python 3.x中:
>>> import html.parser
>>> parser = html.parser.HTMLParser()
>>> parser.unescape('í')
'í'