UnicodeEncodeError

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
cryzed
User
Beiträge: 82
Registriert: Samstag 28. März 2009, 15:53

Beitragvon cryzed » Samstag 4. April 2009, 17:34

So, Ich bedanke mich viele viele Male, vor allem bei dir BlackJack. Wenn ich jedes Unicode Objekt einfach mit UTF-8 encode läuft das Script komplett ohne Fehler durch, nur so ganz spezielle Zeichen machen dann ab und an gerne Probleme. Ich müsste jetzt noch eine Möglichkeit finden herauszufinden ob sich Zeichen auf der Seite befinden die zwar vom Firefox richtig dargestellt werden aber nicht im <meta> charset deklariert sind.
BlackJack

Beitragvon BlackJack » Samstag 4. April 2009, 18:01

@derdon: Das hat nichts mit Python 3.0 zu tun, da gibt es auch den Namen `unicode` nicht mehr in den "builtins".

@cryzed: Das ist übles rumgehacke an Symptomen und keine Problemlösung. Ich denke das Problem ist die `_strip_html()`-Funktion, denn da muss BeautifulSoup wieder ohne Hinweise raten was denn wohl die Kodierung des HTML-Fragments sein mag. Warum machst Du das überhaupt so umständlich? BeautifulSoup nach `str` mit HTML nach BeautifulSoup und dann nach `unicode`, und das alles nur um die Tags zu entfernen!? Das kann man auch etwas direkter haben.

Wenn man eine Unicode-Zeichenkette mit cp1252 kodiert und dabei UTF-8 heraus bekommt, dann ist das Programm fehlerhaft.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 4. April 2009, 23:20

Also ich hätte ja schon *längst* lxml genommen, denn das BeautifulSoup-rumgehacke wäre mir dann irgendwann auch zu blöd geworden. Außerdem hätte ich durchweg Unicode verwendet statt da Bytestrings und Unicodestrings zusammenzumischen, was immer zu fürchterlichem Code führt.

Und außerdem Frage ich micht, warum man sachen im Pastebin als "privat" markiert und dann in ein öffentliches Forum stellt. Das ist wie Flüstern in ein Megaphon.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Beitragvon BlackJack » Sonntag 5. April 2009, 07:46

Welches "BeautifulSoup-rumgehacke"!? Das ist ja nun echt Geschmackssache.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Sonntag 5. April 2009, 12:11

Bei mir haben die Selektoren bei BeautifulSoup öfter mal rumgesponnen und musste den Autor um Rat fragen, der mir dann eine ganz komische Lösung geliefert hat. Außerdem finde ich es eh nützlicher, dass wenn man schon einen HTML5 Parser nutzt, dass dann BeautifulSoup keine speziellen Vorteile[*] ggü. anderen Libraries hat.

[*] Außer dass sie halt Python 3 kompatibel ist, das muss man zugeben.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
cryzed
User
Beiträge: 82
Registriert: Samstag 28. März 2009, 15:53

Beitragvon cryzed » Sonntag 5. April 2009, 18:13

Leonidas hat geschrieben:Also ich hätte ja schon *längst* lxml genommen, denn das BeautifulSoup-rumgehacke wäre mir dann irgendwann auch zu blöd geworden. Außerdem hätte ich durchweg Unicode verwendet statt da Bytestrings und Unicodestrings zusammenzumischen, was immer zu fürchterlichem Code führt.

Und außerdem Frage ich micht, warum man sachen im Pastebin als "privat" markiert und dann in ein öffentliches Forum stellt. Das ist wie Flüstern in ein Megaphon.


Ich kenne mich einfach am besten mit BeautifulSoup aus, und glaube auch das es das einfachste ist. Zum zweiten, ja das stimmt schon irgendwo, es ist einfach eine Angewohnheit geworden das Privat-Feld zu füllen da ich den Service sehr oft benutze und das meist für private Daten.

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]