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闭包及其作用域详解
Aug 28 Python
python+opencv实现的简单人脸识别代码示例
Nov 14 Python
Python中支持向量机SVM的使用方法详解
Dec 26 Python
在python3.5中使用OpenCV的实例讲解
Apr 02 Python
Python实现爬虫爬取NBA数据功能示例
May 28 Python
python 使用pandas计算累积求和的方法
Feb 08 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
May 04 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
Jul 11 Python
docker django无法访问redis容器的解决方法
Aug 21 Python
详解python tkinter模块安装过程
Jan 06 Python
Python爬虫之Selenium库的使用方法
Jan 03 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 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
博士208HAF收音机实习报告
2021/03/02 无线电
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
2019/09/17 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
2020/11/07 Javascript
基于Python的身份证号码自动生成程序
2014/08/15 Python
Python求出0~100以内的所有素数
2018/01/23 Python
python json.dumps() json.dump()的区别详解
2020/07/14 Python
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
小学教研工作制度
2014/01/15 职场文书
运动会入场词60字
2014/02/15 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
高考寄语大全
2014/04/08 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
学习考察心得体会
2014/09/04 职场文书
面试复试通知单
2015/04/24 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
自愿离婚协议书范本2016
2016/03/18 职场文书
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL
vue实现在data里引入相对路径
2022/06/05 Vue.js