ich hätte da mal wieder ein Problem:
Ich parse eine HTML-Seite mit BS und frage an einer bestimmten Stelle (Tabelle) auf den Inhalt ab (in diesem Beispiel die linke Seite einer HTML-Tabelle). Wenn da was entsprechendes steht, 'hole' ich mir den Wert der rechten Spalte.
Soweit so gut.
Jetzt habe ich eine Liste mit 30-40 URLs die ich 'abarbeite' und plötzlich, bei URL 20 tritt ein Fehler auf.
Kein Syntax-Fehler sondern der Wert, den ich abfrage, ist plötzlich 'ganz anders'.
Optisch zu sehen ist es das selbe wie bei allen anderen Inhalten, aber es tritt kein 'match' ein (was es aber sollte).
Nun habe ich mir die betreffende Stelle ausgeben lassen und da kommen wirre Zeichen an den Stellen wo deutsche Umlaute stehen würden.
Ich bin eine URL zurückgegangen und da steht das gleiche Wort, wird aber korrekt ausgegeben!
Ich habe in beiden Fällen nun ein "print type(elem.contents[0])" angewiesen und beide male 'unicode' erhalten.
Aber wieso kein Match und wieso plötzlich diese Sonderzeichen?
Ich frage wie folgt ab:
Code: Alles auswählen
if tmpElem=="Größe:".decode("iso-8859-1"):
.
.
Was läuft hier schief und wie kann ich es beheben?
Ein Workaround hätte ich, aber ich will ja python lernen (Es ist die einzigste Spalte die als Inhalt 'Gr' beginnend hat. Das würde ja reichen aber ich will es ja korrekt machen).