⽤Python处理HTML转义字符的5种⽅式
写爬⾍是⼀个发送请求,提取数据,清洗数据,存储数据的过程。在这个过程中,不同的数据源返回的数据格式各不相同,有 JSON 格式,有 XML ⽂档,不过⼤部分还是 HTML ⽂档,HTML 经常会混杂有转移字符,这些字符我们需要把它转义成真正的字符。
什么是转义字符
在 HTML 中 <、>、& 等字符有特殊含义(<,> ⽤于标签中,& ⽤于转义),他们不能在 HTML 代码中直接使⽤,如果要在⽹页中显⽰这些符号,就需要使⽤ HTML 的转义字符串(Escape Sequence),例如 < 的转义字符是 <,浏览器渲染 HTML 页⾯时,会⾃动把转移字符串换成真实字符。
转义字符(Escape Sequence)由三部分组成:第⼀部分是⼀个 & 符号,第⼆部分是实体(Entity)名字,第三部分是⼀个分号。 ⽐如,要显⽰⼩于号(<),就可以写< 。html代码转链接
Python 反转义字符串
⽤ Python 来处理转义字符串有多种⽅式,⽽且 py2 和 py3 中处理⽅式不⼀样,在 python2 中,反转义串的模块是 HTMLParser。
Python3 把 HTMLParser 模块迁移到 html.parser
到 python3.4 之后的版本,在 html 模块新增了 unescape ⽅法。
推荐最后⼀种写法,因为 HTMLParser.unescape ⽅法在 Python3.4 就已经被废弃掉不推荐使⽤,意味着之后的版本有可能会被彻底移除。
另外,sax 模块也有⽀持反转义的函数
当然,你完全可以实现⾃⼰的反转义功能,不复杂,当然,我们崇尚不重复造轮⼦。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。