Python之在字符串中处理html和xml

需求:替换文本字符串中的 ‘<’ 或者 ‘>’ ,使用 html.escape() 函数

import html
s="<div>你好<div>"
print(html.escape(s))   # &lt;div&gt;你好&lt;div&gt;

需求:含有编码值的原始文本,需要手动去做替换(较常见)

from html.parser import HTMLParser
d="&lt;div&gt;你好&lt;div&gt;"
p=HTMLParser()
print(p.unescape(d))    # <div>你好<div>

需求:如果你正在处理的是ASCII文本,并且想将非ASCII文本对应的编码实体嵌入进去

#  可以给某些I/O函数传递参数 errors='xmlcharrefreplace' 来达到这个目
b = 'Spicy Jalapeño'
print(b.encode('ascii', errors='xmlcharrefreplace'))   # b'Spicy Jalape&#241;o'