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学习手册中的python多态示例代码
Jan 21 Python
Python检测网站链接是否已存在
Apr 07 Python
详解python中的线程
Feb 10 Python
对Python 3.5拼接列表的新语法详解
Nov 08 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
Mar 30 Python
django 解决自定义序列化返回处理数据为null的问题
May 20 Python
Selenium自动化测试工具使用方法汇总
Jun 12 Python
详解Python3 定义一个跨越多行的字符串的多种方法
Sep 06 Python
python用Tkinter做自己的中文代码编辑器
Sep 07 Python
pytorch学习教程之自定义数据集
Nov 10 Python
使用Django的JsonResponse返回数据的实现
Jan 15 Python
Django中template for如何使用方法
Jan 31 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
Jquery.TreeView结合ASP.Net和数据库生成菜单导航条
2010/08/27 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
javascript中setAttribute兼容性用法分析
2016/12/12 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
vue写一个组件
2018/04/09 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
小程序实现投票进度条
2019/11/20 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
Python递归函数定义与用法示例
2017/06/02 Python
Mac 上切换Python多版本
2017/06/17 Python
python音频处理用到的操作的示例代码
2017/10/27 Python
Python3.4实现远程控制电脑开关机
2018/02/22 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
2020/05/22 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
全球高级音频和视频专家:HiDef Lifestyle
2019/08/02 全球购物
上课迟到检讨书
2014/01/19 职场文书
2014年团队工作总结
2014/11/24 职场文书
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏