Форум сайта python.su
0
Чем в стандартной библиотеке перевести html-кодировку (& # 1054; & # 1075; & # 1083;) в нормальный юникод?
Отредактировано (Июнь 14, 2011 20:55:58)
Офлайн
0
>>> print unichr(1054)
О
>>> print unichr(1075)
г
>>> print unichr(1083)
л
Офлайн
0
Стыдно :(
Спасибо.
Хотя хотелось бы автоматический способ…
Офлайн
0
Да я сам не знал ), Гугл подсказал.
А насчет автоматики в HTMLparser есть метод заглушка http://docs.python.org/library/htmlparser.html#HTMLParser.HTMLParser.handle_entityref
можно попробовать поиграться.
Офлайн
10
>>> class MyParser(HTMLParser):
def handle_charref(self, name):
print(unichr(int(name)))
>>> txt = """
<html>
<body>& #1054; г ; &# 1083;
</body>
</html>"""
>>> parser = MyParser()
>>> parser.feed(txt)
О
г
л
Отредактировано (Июнь 15, 2011 23:06:56)
Офлайн
0
спасибо :)
Офлайн