1 html.entities HTML 实体
name2codepoint 将 HTML 实体名称映射到 Unicode 代码点:
html5 将 HTML5 命名字符引用映射到等效的 Unicode 字符
elements = {k:v for k, v in html5.items()}
比如:
codepoint2name 将 Unicode 代码点映射到 HTML 实体名称
将 HTML 实体名称映射到字符(如果字符不在 Latin-1 范围内,则映射为字符引用)
from html.entities import entitydefs
比如,数学符号
,
,可以直接获得:
2 escape(s, quote=True)
escape 将特殊字符 &,< 和 > 替换为HTML安全序列。如果可选的 flags quote 为 True(默认值),则还会翻译引号字符,包括双引号(")和单引号(')字符。
3 html.unescape(s)
将字符串 s 中的所有命名和数字字符引用 (例如 >, >, >) 转换为相应的 Unicode 字符。此函数使用 HTML 5 标准为有效和无效字符引用定义的规则,以及 HTML 5 命名字符引用列表。
4 html.parser --- 简单的 HTML 和 XHTML 解析器
这个模块定义了一个 HTMLParser 类,为 HTML(超文本标记语言)和 XHTML 文本文件解析提供基础。
class html.parser.HTMLParser(*, convert_charrefs=True) 创建一个能解析无效标记的解析器实例。查找标签(tags)和其他标记(markup)并调用 handler 函数。
用法:
p = HTMLParser()
p.feed(data)
...
p.close()
通过调用 self.handle_starttag 处理开始标签,或通过调用 self.handle_startendtag 处理结束标签。标签之间的数据通过以 data 为参数调用 self.handle_data 从解析器传递到派生类(数据可以分成任意块)。如果 convert_charrefs 为 True,则将字符引用自动转换为相应的 Unicode 字符(并且 self.handle_data 不再拆分成块),否则通过调用带有字符串的 self.handle_entityref 或 self.handle_cha