python的html标准库


Posted in Python onApril 29, 2022

python之标准库html

html库是用于解析HTML的一个工具,是python自带的标准库之一。
html库位置:

python的html标准库

__init__.py文件提供两个函数:

__all__ = ['escape', 'unescape']

介绍 escape 和 unescape:

escape(s, quote=True) #用来将特殊字符进行转义成实体字符
"""
参数介绍:
  s 指定要转义的特殊字符
  quote 默认为True,表示要将 " 或者 ' 也要转义成实体字符,False反之不用转义成实体字符
"""
unescape(s) #用来将实体字符进行还原到特殊字符

escape 和 unescape 的使用:

import html
s = '<div id="box">div</div>'
res = html.escape(s)
print(res)
print(html.escape(s,quote=False))
print(html.unescape(res)) #理解还原即可

输出结果:

python的html标准库

escape源码的实现:

python的html标准库

html库中的 entities 模块

该模块定义: HTML字符实体引用。
该模块提供四个字典对象:

__all__ = ['html5', 'name2codepoint', 'codepoint2name', 'entitydefs']

导入:

from html import entities
html = entities.html5
name2codep = entities.name2codepoint
codep = entities.codepoint2name
ent = entities.entitydefs
print(html)
print(name2codep)
print(codep)
print(ent)

输出结果:

python的html标准库

html库中的 parser 模块

该模块是HTML和XHTML的解析器。
该模块提供一个类:

__all__ = ['HTMLParser']

导入:

from html import parser
htmlParser=parser.HTMLParser()

介绍该类的常用属性和常用方法:
常用属性:

lasttag #保存上一个解析的标签名,返回字符串。

已实现的常用方法:

feed(data) #将数据馈送到解析器。无返回值
unescape(s) #往上看,前面有介绍的
get_starttag_text() #返回开始标记的完整来源
close() #关闭

未实现的常用方法:
注意:这些方法在源码中都没有具体实现,需要我们定义一个子类继承自HTMLParser类,在子类中重写这些方法,实现自己逻辑

handle_starttag(tag, attrs) #处理开始标签,如 <div>;这里的attrs获取到的是属性列表,属性以元组的方式展示
handle_endtag(tag) #处理结束标签, 如 </div>
handle_data(data) #处理数据,标签之间的文本
handle_comment(data) #处理注释,<!-- - -> 之间的文本
handle_startendtag(tag, attrs) #处理自己结束的标签,如 <img />

以上方法在源码中是这样的:

python的html标准库

 

python的html标准库

python的html标准库

到此这篇关于python之标准库html的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
python的urllib模块显示下载进度示例
Jan 17 Python
Python中使用urllib2防止302跳转的代码例子
Jul 07 Python
Python语言实现百度语音识别API的使用实例
Dec 13 Python
python简单实现操作Mysql数据库
Jan 29 Python
python打包压缩、读取指定目录下的指定类型文件
Apr 12 Python
python实现泊松图像融合
Jul 26 Python
Python迭代器与生成器基本用法分析
Jul 26 Python
Python实现查找二叉搜索树第k大的节点功能示例
Jan 24 Python
Python实用工具FuckIt.py介绍
Jul 02 Python
Python响应对象text属性乱码解决方案
Mar 31 Python
python 穷举指定长度的密码例子
Apr 02 Python
如何把python项目部署到linux服务器
Aug 26 Python
python和C/C++混合编程之使用ctypes调用 C/C++的dll
Apr 29 #Python
python数据处理之Pandas类型转换
Python实现将多张图片合成MP4视频并加入背景音乐
Python FuzzyWuzzy实现模糊匹配
Apr 28 #Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 #Python
详解PyTorch模型保存与加载
Apr 28 #Python
You might like
getimagesize获取图片尺寸实例
2014/11/15 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
2012/02/17 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
理解Python中函数的参数
2015/04/27 Python
Python计算已经过去多少个周末的方法
2015/07/25 Python
使用python语言,比较两个字符串是否相同的实例
2018/06/29 Python
pytorch forward两个参数实例
2020/01/17 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
浅谈python 类方法/静态方法
2020/09/18 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
支教自我鉴定
2014/01/18 职场文书
员工拓展培训方案
2014/02/15 职场文书
亲子拓展活动方案
2014/02/20 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
JavaScript canvas实现流星特效
2021/05/20 Javascript
SpringBoot Http远程调用的方法
2022/08/14 Java/Android