Andere Tipps

>>> from HTMLParser import HTMLParser
>>> print HTMLParser().unescape('U.S. Adviser’s Blunt Memo on Iraq: '
...                             'Time ‘to Go Home’')
U.S. Adviser’s Blunt Memo on Iraq: Time ‘to Go Home’

Die Funktion wird in Python 2. Es ist in Python fixiert ist 3.4+ : es wird ausgesetzt, wie html.unescape() es .

Dies funktioniert:

from BeautifulSoup import BeautifulStoneSoup
s = "U.S. Adviser’s Blunt Memo on Iraq: Time ‘to Go Home’"
decoded = BeautifulStoneSoup(s, convertEntities=BeautifulStoneSoup.HTML_ENTITIES)

Wenn Sie eine Zeichenfolge anstelle einem Unicode-Objekt mögen, müssen Sie es zu einer Codierung entschlüsseln, die die Zeichen verwendet werden unterstützt; ISO-8859-1 nicht:

result = decoded.encode("UTF-8")

Es ist bedauerlich, dass Sie ein externes Modul für so etwas brauchen; einfache HTML / XML-Entity-Decodierung in der Standardbibliothek sein sollte, und erfordert mich nicht über eine Bibliothek mit sinnlosen Klassennamen wie „BeautifulStoneSoup“ zu verwenden. (Klasse und Funktionsnamen sollten nicht „kreativ“ sein, sollten sie sinnvoll sein.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top