Seite 1 von 1

BeautifulSoup und Umlaute

Verfasst: Freitag 23. November 2012, 19:10
von Liffi
Ich versuche mit BeautifulSoup eine Webseite zu parsen. Diese ist, laut firefox, 'ISO-8859-2' encoded.
Leider wandelt BeautifulSoup in diesem Fall die Umlaute nicht automatisch um. Statt '&uuml' wünsche ich mir eigentlich ein 'ü'.

Wenn ich das richtig sehe, funktioniert die Umwandlung bei der auskommentierten Seite.
Mir ist nicht ganz klar, wo jetzt genau der Unterschied liegt.

Code: Alles auswählen

from BeautifulSoup import BeautifulSoup
import requests

url = 'http://www.hydroinfo.hu/tables/dunhif_a.html'
#url = 'http://www.hydroinfo.hu/'
r = requests.get(url)
soup = BeautifulSoup(r.content)

table = soup.find('table')
for row in table.findAll('tr'):
    cols = row.findAll('td')
    print cols

Re: BeautifulSoup und Umlaute

Verfasst: Freitag 23. November 2012, 19:19
von BlackJack
@Liffi: Der Unterschied dürfte in der Darstellung der Umlaute im HTML-Quelltext liegen. Da wird für 'ä' zum Beispiel 'ä' stehen — und dabei ist die Kodierung völlig egal. HTML-„character entities” interpretiert BeautifulSoup nur wenn man das explizit angibt. Wie das geht steht da irgendwo in der Dokumentation.

Re: BeautifulSoup und Umlaute

Verfasst: Freitag 23. November 2012, 19:25
von Liffi
@BlackJack Ja, du hast vollkommen Recht. Und danke für den Hinweis zum richtigen Begriff!
Schon klappts auch.