[Python-de] htmllib und Umlaute

Uwe Schmitt schmitt at num.uni-sb.de
Fri Apr 25 19:51:35 EDT 2003


Hallo,


ich benutze folgendes Programm um aus einem
HTML-String den Inhalt zu extrahieren:


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

import formatter
import htmllib
import StringIO

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="""
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//DE">
<html>
<head>
<meta content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
</head>
<body>
<h1>&Uuml;berschrift</h1>Text im Body
<p>Paragraph</p>
</body>
</html>"""

res= html2Text(html)
print res


<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<




Das funktioniert auch wunderbar bis auf die Tatsache, daß &Uuml; 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.

Goolge konnte mir auch nicht weiterhelfen....


Gruß, Uwe








More information about the Python-de mailing list