我正在做一些网页抓取,并且网站经常使用 HTML 实体来表示非 ascii 字符。 Python 是否有一个实用程序可以接收带有 HTML 实体的字符串并返回 unicode 类型?
例如:
我回来了:
ǎ
代表带有声调的“ǎ”。在二进制中,这表示为 16 位 01ce。我想将html实体转换为值 u'\u01ce'
最佳答案
标准库自己的 HTMLParser 有一个未记录的函数 unescape(),它完全按照您的想法执行:
直到 Python 3.4:
import HTMLParser
h = HTMLParser.HTMLParser()
h.unescape('© 2010') # u'\xa9 2010'
h.unescape('© 2010') # u'\xa9 2010'
Python 3.4+:
import html
html.unescape('© 2010') # u'\xa9 2010'
html.unescape('© 2010') # u'\xa9 2010'
关于python - 在 Python 中将 XML/HTML 实体转换为 Unicode 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57708/