[Python-de] htmllib und Umlaute
Gerhard Häring
gh at ghaering.de
Fri Apr 25 20:06:17 EDT 2003
Uwe Schmitt wrote:
> Hallo,
>
> ich benutze folgendes Programm um aus einem
> HTML-String den Inhalt zu extrahieren:
> [...]
> Das funktioniert auch wunderbar bis auf die Tatsache, daß Ü nicht zum
> "Ü" umgesetzt wird, "Ü" wird durch '\xdc' ersetzt, was aber kein "Ü" ist.
> Dachte zuerst StringIO() wäre dran schuld, aber das konnte ich ausschließen. [...]
Auf deiner Konsole ist ein anderer Zeichensatz wie^als in dem
HTML-Dokument eingestellt (iso-8859-1).
Probier mal (hab ich mir von Martin abgeschaut):
#v+
import formatter
import htmllib
import StringIO
import unicodedata
def html2Text(htmlText):
fp = StringIO.StringIO()
w = formatter.DumbWriter(fp) # gibt einfach nur text aus
f = formatter.AbstractFormatter(w) # vermittelt zu w
# parse HTML und erzeuge Aufrufe nach f
p = htmllib.HTMLParser(f)
p.feed(htmlText)
p.close()
return fp.getvalue()
html = "Ü"
res= html2Text(html)
print unicodedata.name(unicode(res, "iso-8859-1"))
#v-
==>
C:\tmp>python uml.py
LATIN CAPITAL LETTER U WITH DIAERESIS
Die Umwandlung funktioniert also korrekt.
-- Gerhard
More information about the Python-de
mailing list