BeautifulSoup: Problem mit &

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.
Antworten
AugustQ
User
Beiträge: 9
Registriert: Montag 3. Juni 2019, 14:41

Hi,

ich bin über ein Problem gestolpert, das ich hier mal darstellen möchte.

Ein Beispielprogramm:

Code: Alles auswählen

myHtml='(C&A)'
soup = BeautifulSoup(myHtml, 'html.parser')
print(soup)
myHtml='(C&A)'
soup = BeautifulSoup(myHtml, 'html.parser')
print(soup)
dies liefert folgende Ausgabe:

Code: Alles auswählen

(C&A)
(C&A;)
d.h. in einer HTML-Seite steht der Name C&A, BeautifulSoup macht daraus: C&A;
es wird also ein Semikolon angehängt.

Das ist wohl ein Fehler in BeautifulSoup. Wo kann ich diesen Fehler melden?

Die Daten kommen aus einer HTML-Seite, die ich nicht verändern kann.

Schönen Gruß
AugustQ
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bei den Entwicklern von BS - sollte alles angegeben sein auf pypi.python.org. Einfach danach suchen.
Sirius3
User
Beiträge: 18270
Registriert: Sonntag 21. Oktober 2012, 17:20

@AugustQ: ich kann Dein Verhalten nicht reproduzieren

Code: Alles auswählen

>>> bs4.BeautifulSoup('(C&A)', 'html.parser')
(C&A)
welche Python und BS4-Version verwendest Du?
AugustQ
User
Beiträge: 9
Registriert: Montag 3. Juni 2019, 14:41

python: 3.6
BeautifulSoup: 4.6.0
AugustQ
User
Beiträge: 9
Registriert: Montag 3. Juni 2019, 14:41

das habe ich gerade gemacht:

Code: Alles auswählen

import bs4
print (bs4.__version__)
print(bs4.BeautifulSoup('(C&A)', 'html.parser'))
und das erhalte ich:

Code: Alles auswählen

4.6.0
(C&A;)
also: ein zusätzliches Semikolon hinter dem A.
Benutzeravatar
__blackjack__
User
Beiträge: 14044
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Konnte ich nachvollziehen nachdem ich die ältere BS4 4.6.0 installiert habe. Mit der aktuellen Version passiert das nicht.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
AugustQ
User
Beiträge: 9
Registriert: Montag 3. Juni 2019, 14:41

Hi,

Danke für den Hinweis. Ich habe jetzt die Version 4.7.1 installiert und das Problem ist weg.

Erst habe ich BeautifulSoup entfernt und dann per apt-get neu installiert (Version 4.6.0-1): gleiches Problem. Wieder entfernt.

Danach habe ich es mit pip installiert, ganz anderes Problem da Python 2, wieder entfernt.

Danach habe ich die Version für Python 3 installiert und jetzt geht es.

Problem gelöst.
Antworten