Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用Python处理HTML转义字符的5种方式

用Python处理HTML转义字符的5种方式

作者头像
SingYi
发布于 2022-07-13 13:47:02
发布于 2022-07-13 13:47:02
1.8K00
代码可运行
举报
文章被收录于专栏:Lan小站Lan小站
运行总次数:0
代码可运行

写爬虫是一个发送请求,提取数据,清洗数据,存储数据的过程。在这个过程中,不同的数据源返回的数据格式各不相同,有 JSON 格式,有 XML 文档,不过大部分还是 HTML 文档,HTML 经常会混杂有转移字符,这些字符我们需要把它转义成真正的字符。

什么是转义字符

在 HTML 中 <>& 等字符有特殊含义(<,> 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字符串(Escape Sequence),例如 < 的转义字符是 &lt;,浏览器渲染 HTML 页面时,会自动把转移字符串换成真实字符。

转义字符(Escape Sequence)由三部分组成:第一部分是一个 & 符号,第二部分是实体(Entity)名字,第三部分是一个分号。 比如,要显示小于号(<),就可以写&lt;

Python 反转义字符串

Python 来处理转义字符串有多种方式,而且 py2 和 py3 中处理方式不一样,在 python2 中,反转义串的模块是 HTMLParser

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# python2
import HTMLParser
>>> HTMLParser().unescape('a=1&amp;b=2')
'a=1&b=2'

Python3 把 HTMLParser 模块迁移到 html.parser

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# python3
>>> from html.parser import HTMLParser
>>> HTMLParser().unescape('a=1&amp;b=2')
'a=1&b=2'

到 python3.4 之后的版本,在 html 模块新增了 unescape 方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# python3.4
>>> import html
>>> html.unescape('a=1&amp;b=2')
'a=1&b=2'

推荐最后一种写法,因为 HTMLParser.unescape 方法在 Python3.4 就已经被废弃掉不推荐使用,意味着之后的版本有可能会被彻底移除。

另外,sax 模块也有支持反转义的函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> from xml.sax.saxutils import unescape
>>> unescape('a=1&amp;b=2')
'a=1&b=2'
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[889]python处理HTML转义字符
在 HTML 中 <、>、& 等字符有特殊含义(<,> 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字符串(Escape Sequence),例如 < 的转义字符是 &lt;,浏览器渲染 HTML 页面时,会自动把转移字符串换成真实字符。
周小董
2020/08/12
5.5K0
[889]python处理HTML转义字符
用 Python 处理 HTML 转义字符的5种方式
Photo byAhmed SaffuonUnsplash 写爬虫是一个发送请求,提取数据,清洗数据,存储数据的过程。在这个过程中,不同的数据源返回的数据格式各不相同,有 JSON 格式,有 XM
企鹅号小编
2017/12/29
2K0
用 Python 处理 HTML 转义字符的5种方式
多样式的字典,重口感
尽管 xml.etree.ElementTree 库通常用来做解析工作,其实它也可以创建 XML 文档。例如,如下这个函数:
Python知识大全
2020/03/06
3580
Python转义字符
有时我们并不想让转义字符生效,我们只想显示字符串原来的意思,这就要用r和R来定义原始字符串。如:
狼啸风云
2019/03/20
4K0
Python基础:浅谈Python转义字符
Python转义字符允许我们在字符串中包含特殊字符。这些转义字符通常以反斜杠\开始,其后跟着字符。转义字符是有帮助的,但有时也会造成麻烦。下面看几个实际例子来了解如何使用它们。
fanjy
2022/11/16
1.4K0
Python基础:浅谈Python转义字符
HTML/XML转义字符对照表(建议收藏)
HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,该怎么办呢?
红目香薰
2022/11/29
6.9K0
HTML转义字符对照表
HTML 4.01 支持 ISO 8859-1 (Latin-1) 字符集。 备注:为了方便起见,以下表格中,“实体名称”简称为“名称”,“实体编号”简称为“编号”
Yiiven
2022/12/15
1.8K0
Python学习:转义字符及用法、数据类型转换函数
ASCII编码为每个字符都分配了唯一的编号,成为编码值。在Python中,一个ASCII字符除了可以用它的实体(真正的字符)表示,还可以用它的编码值表示。这种使用编码值来间接地表示字符的方式成为转义字符(Escape Character)。
Python学习者
2022/09/21
7460
HTML转义字符:xss攻击与HTML字符的转义和反转义
转义只是防止xss攻击的一种手段之一,更多请查看:《web开发前端安全问题总结——web前端安全问题汇总》
周陆军博客
2022/06/25
12.1K0
关于Python中html实体转义与非转义[还原]
在HTML中,某些字符是预留的,用来编写HTML代码的。所以这时程序员就不能直接使用他们。
无道
2019/11/13
5.5K0
关于Python中html实体转义与非转义[还原]
HTML转义字符对照表
HTML转义字符对照表 小贴士:Ctrl+F 快速查找 十进制字符 以及 转义字符
很酷的站长
2022/12/02
1.3K0
MarkupSafe:Python的字符转义库
MarkupSafe转义字符,因此在HTML和XML中使用文本是安全的。具有特殊含义的字符将被替换,使其显示为实际字符。这减轻了注入攻击,意味着不受信任的用户输入可以安全地显示在页面上。
luckpunk
2023/09/21
3300
python与字符编码小记
用python2的小伙伴肯定会遇到字符编码的问题。下面对编码问题做个简单的总结,希望对各位有些帮助。 故事零:编码的定义 我们从“SOS“(国际通用求助信号)开始,它的摩斯密码的编码是: “…---…”,想一下为什么选用S、O、S来作为求救信号?因为它简单,容易辨别且不容易发错呀! 那么,字符编码就是: ´给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码。例如,我们给字符’A’赋予数值0x41,则0x41就是字符’A’的编码。字符编码是字符的表现、储存方式。 字符编
腾讯移动品质中心TMQ
2019/05/23
9110
python与字符编码小记
python根据ip获取地理位置再查询天气情况调百度语音合成朗读
虽然是造轮子,不过还是挺好玩的。主要的困难点再于编码问题。还有一个是部分使用python2.7的代码和python3.4之间的兼容性问题。代码发布在github中。https://github.com/luyishisi/The_python_code/tree/master/automatic_weather
十四君
2019/11/27
1K0
Python实战之字符串和文本处理
「 傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波」
山河已无恙
2023/01/30
1.2K0
常用 HTML 转义符对照表
HTML中<,>,&等有特殊含义(<,>,用于链接标签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,该怎么办呢?
Denis
2023/04/15
4.4K0
python全栈开发《32.什么是转义字符、转义字符们》
就是把'123ab'这个字符串以16进制转成数字(16是int这个函数的参数,代表字符串转成数字的规则),再通过int函数把这个16进制的数字转换成10进制的数字。然后print打印出来结果。
清菡
2024/10/15
3630
python全栈开发《32.什么是转义字符、转义字符们》
使用pyh生成HTML文档
最近在项目中需要将结果导出到HTML中,在网上搜索的时候发现了这个库,通过官方的一些文档以及网上的博客发现它的使用还是很简单的,因此选择在项目中使用它。 在使用的时候发现在Python3中有些问题,网上很多地方都没有提到,因此我在这将它的使用以及我遇到的问题和解决方案整理出来供大家参考 本文主要参考pyh中文文档 下载的样本也是该文中提到的地址
Masimaro
2018/08/31
2.2K0
使用pyh生成HTML文档
【基础教程】Python转义字符及用法
ASCII 编码为每个字符都分配了唯一的编号,称为编码值。在 Python 中,一个 ASCII 字符除了可以用它的实体(也就是真正的字符)表示,还可以用它的编码值表示。这种使用编码值来间接地表示字符的方式称为转义字符(Escape Character)。
matinal
2020/11/27
1.2K0
Python字符串的转义字符
字符串的转义字符 什么是转义字符 字符要转成其他含义的功能,所以我们叫他转义字符 \ + 字符 Python中的转义字符 符号 说明 \n 换行,一般用于末尾,strip对其也有效 \t 横向制表符(可以认为是一个间隔符) \v 纵向制表符(会有一个男性符号) \a 响铃 \b 退格符,将光标前移,覆盖(删除前一个) \r 回车 \f 翻页(几乎用不到,会出现一个女性符号) \' 转义字符串中的单引号 \'' 转义字符中的双引号 \\ 转义斜杠 转义无效符 在python中 在字符串前加 r 来将当
Zkeq
2022/05/18
1.8K0
相关推荐
[889]python处理HTML转义字符
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验