HTMLParser a la fonctionnalité dans la bibliothèque standard. Il est, malheureusement, non documentée:
(python2 Docs)
>>> import HTMLParser
>>> h= HTMLParser.HTMLParser()
>>> h.unescape('alpha < β')
u'alpha < \u03b2'
(Python 3 Docs)
>>> import html.parser
>>> h = html.parser.HTMLParser()
>>> h.unescape('alpha < β')
'alpha < \u03b2'
htmlentitydefs est documentée, mais vous oblige à faire beaucoup de travail vous-même.
Si vous avez seulement besoin des entités XML prédéfinies (lt, gt, amp, quot, apos), vous pouvez utiliser minidom pour les analyser. Si vous avez seulement besoin des entités prédéfinies et pas de références de caractères numériques, vous pouvez même simplement utiliser une ancienne chaîne pour remplacer la vitesse.
+1 Je ne connaissais pas cette fonction de HTMLParser – vartec
Voici une fonction documentée de la bibliothèque standard qui convertira le code HTML échappé en une chaîne normale: http://docs.python.org/library/xml.sax. Utils.html # xml.sax.saxutils.unescape –
En Python 3.4, il était [documenté] (https://docs.python.org/3/library/html.html#html.unescape). – 9000