在 Python 中将 XML/HTML 实体转换为 Unicode 字符串 [重复]

2024-01-18

我正在做一些网页抓取,网站经常使用 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'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 中将 XML/HTML 实体转换为 Unicode 字符串 [重复] 的相关文章

随机推荐