Python处理HTML转义字符
在抓网页数据经常遇到例如>或者 这种HTML转义符,抓到字符串里很是烦人。
比方说一个从网页中抓到的字符串:
p =’<abc>’
用Python可以这样处理:
import html
p = '<abc>'
txt= html.unescape(p)
print (txt)
#这样就得到了txt= '<abc>'
如果还想转回去,可以这样:
import cgi
q = cgi.escape(html)
print(q)
#这样又回到了 html = '<abc>'
#python3.2以后:
import html
q = html.escape(html)
print(q)
#这样又回到了 html = '<abc>'
注:
parse_qs, parse_qsl 和 escape 已从 cgi 模块中被移除。 这些函数自 Python 3.2 或更早就已被弃用。 它们应改为从 urllib.parse 和 html 模块导入。
python-html
该模块定义了操作HTML的工具。
-
html.``escape
(s, quote=True)将字符串 s 中的字符
&
、<
和>
转换为安全的HTML序列。 如果需要在 HTML 中显示可能包含此类字符的文本,请使用此选项。 如果可选的标志 quote 为真值,则字符 ("
) 和 ('
) 也被转换;这有助于包含在由引号分隔的 HTML 属性中,如<a href="...">
。3.2 新版功能. -
html.``unescape
(s)将字符串 s 中的所有命名和数字字符引用 (例如
>
,>
,>
) 转换为相应的Unicode字符。 此函数使用HTML 5标准为有效和无效字符引用定义的规则,以及HTML 5 命名字符引用列表
。3.4 新版功能.
html
包中的子模块是:
html.parser
—— 具有宽松解析模式的HTML / XHTML解析器html.entities
– HTML 实体定义