/ / UnicodeをBeautifulSoup4に渡す - python、unicode、beautifulsoup

BeautifulSoup4にUnicodeを渡す - python、unicode、beautifulsoup

基本的に私はこのようなことをすることができるかどうかを知りたい:

from bs4 import BeautifulSoup

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

私は現在、Unicode文字列、BeautifulSoup4を使用して文字列を解析/変更し、結果を返します(Unicodeとして)。私の質問は、BeautifulSoup4がUnicode文字列を渡して解析できるかどうかです。ザ ドキュメント bs4がバイト文字列(おそらくchardetを使って、 Unicode文字列を渡すとエラーが発生する)、その文字列を自動的にUnicodeですが、Unicodeを渡すことについて何も言及していません。ちょうどいくつかの基本的なテストを実行するだけで、私はUnicodeを渡して修正することができますし、エラーや何かを起こさないようですが、もっと確定的な答えがあるかどうかを知りたいのですか?

回答:

回答№1は1

最終的にbs4のソースコードを見てから、UnicodeをBeautifulSoupに渡すことは安全だと言えるでしょう。

bs4は、 UnicodeDammit それに渡すテキストを検出して変換します。ザ ソース (342行目〜347行目)は、文字エンコーディング検出がテキストがすでにUnicodeである場合に短絡すると述べています。これはあなたが持っているかどうかにかかわらず チェッカー または シャーデット あなたの環境にインストールされている