/ / Passage de Unicode vers BeautifulSoup4 - Python, Unicode, beautifulsoup

Passer Unicode à BeautifulSoup4 - python, unicode, beautifulsoup

En gros, je veux savoir si je peux faire quelque chose comme ça:

from bs4 import BeautifulSoup

unicode_text = u"u266a Here is some unicode text u266a"
soup = BeautifulSoup(unicode_text)

Je suis en train d’écrire un module qui prend enChaîne Unicode, utilise BeautifulSoup4 pour analyser / modifier la chaîne, puis renvoyer le résultat (toujours au format Unicode). Ma question est de savoir si BeautifulSoup4 vous permet de passer des chaînes Unicode à analyser. le docs mentionnez seulement que bs4 détectera le codage d’une chaîne d’octets (éventuellement en utilisant chardet, ce qui déclenche une erreur si une chaîne Unicode est passée) et convertit automatiquement cette chaîne enUnicode, mais cela ne mentionne jamais le passage à Unicode. En exécutant quelques tests de base, il semble que je puisse simplement passer Unicode et le modifier sans que cela ne génère des erreurs ou quoi que ce soit, mais je voudrais savoir s’il existe une réponse plus définitive?

Réponses:

1 pour la réponse № 1

Eh bien, après avoir enfin examiné le code source de bs4, je peux affirmer que le transfert de Unicode à BeautifulSoup est sûr.

BS4 utilise un module appelé UnicodeDammit détecter et convertir le texte que vous lui transmettez. le la source (lignes 342 à 347) indique que la détection de codage de caractères court-circuite si le texte est déjà Unicode. Ceci est également vrai que vous ayez ou non cchardet ou chardet installé dans votre environnement