python - 在 Python 中将 XML/HTML 实体转换为 Unicode 字符串

标签 python html entities

我正在做一些网页抓取,并且网站经常使用 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/

相关文章:

html - 如何让下拉菜单出现在div前面?

html - 如何在C中转义html实体?

postgresql - 带有 doctrine2、symfony2 和 postgresql 实体的案例

jquery - 如何显示很长的选择选项的所有文本?

javascript - 试图获得预期效果的问题

javascript - 比较用 ASP 编写的 html 实体和 JS 读取的 html 实体

python - python 中的 URL 记录器

python - 添加 "status light"到 Django admin

python - 使用 IDEA 的 Python SDK 中配置的 Virtualenv 环境

Python 正则表达式模式 findall