0

重複の可能性:
Python で XML/HTML エンティティを Unicode 文字列に変換する

Python を使用して Excel XML ドキュメントを読んでいます。é のような文字がたくさん出てきます。

さまざまなアクセント付き文字 (など) を表します。これらの文字を utf-8 に変換する簡単な方法はありますか?

4

2 に答える 2

1

HTML エンティティを Unicode に相当するものに解析したいだけの場合:

>>> import HTMLParser
>>> parser = HTMLParser.HTMLParser()
>>> parser.unescape('é')
u'\xe9'
>>> print parser.unescape('é')
é

これは Python 2.x 用です。3.x の場合、インポートはimport html.parser

于 2012-12-18T08:21:52.337 に答える
0

このQandAと他のQandAのヒントを使用して、うまくいくように見える解決策があります。ドキュメント全体を取得し、ドキュメントからすべてのhtmlエンティティを削除します。

import re
import HTMLParser

regexp = "&.+?;" 
list_of_html = re.findall(regexp, page) #finds all html entites in page
for e in list_of_html:
    h = HTMLParser.HTMLParser()
    unescaped = h.unescape(e) #finds the unescaped value of the html entity
    page = page.replace(e, unescaped) #replaces html entity with unescaped value
于 2012-12-18T18:34:28.490 に答える