Python で XML/HTML エンティティを Unicode 文字列に変換する
Web スクレイピングでは、非 ASCII 文字を表すためにエンティティが頻繁に使用されます。これらのエンティティを Python でデコードし、対応する Unicode 表現を取得するには、標準ライブラリの HTMLParser モジュールで利用可能な unescape() 関数を利用できます。
例:
とします。次のエンティティがあります:
ǎ
これは、声調記号付きの「Ǝ」を表します。これに相当するバイナリは 01ce (16 ビット) です。このエンティティを Unicode 値 u'u01ce' に変換するには:
Python 3.4 以前:
import HTMLParser h = HTMLParser.HTMLParser() unicode_string = h.unescape('© 2010') # u'\xa9 2010' unicode_string = h.unescape('© 2010') # u'\xa9 2010'
Python 3.4 以降:
import html unicode_string = html.unescape('© 2010') # u'\xa9 2010' unicode_string = html.unescape('© 2010') # u'\xa9 2010'
結果の unicode_string には、エンティティが実際の Unicode 値に置き換えられた文字列の目的の Unicode 表現が含まれます。
以上がPython で XML/HTML エンティティを Unicode 文字列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。