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实现的简单RPG游戏流程实例
Jun 28 Python
全面理解Python中self的用法
Jun 04 Python
Python格式化输出字符串方法小结【%与format】
Oct 29 Python
Tensorflow分类器项目自定义数据读入的实现
Feb 05 Python
如何安装并使用conda指令管理python环境
Jul 10 Python
Django model update的多种用法介绍
Mar 28 Python
ubuntu上安装python的实例方法
Sep 30 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
Feb 04 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
如何利用python 读取配置文件
Jan 06 Python
python使用scapy模块实现ARP扫描的过程
Jan 21 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 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
php addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
学习YUI.Ext 第二天
2007/03/10 Javascript
javascript 变量作用域 代码分析
2009/06/26 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
2015/12/08 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
BootStrap 模态框实现刷新网页并关闭功能
2017/01/04 Javascript
微信小程序 传值取值的几种方法总结
2017/01/16 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
Python使用Scrapy爬取妹子图
2015/05/28 Python
使用 pytorch 创建神经网络拟合sin函数的实现
2020/02/24 Python
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
模具专业推荐信
2013/10/30 职场文书
行政管理专业推荐信
2013/11/02 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
国际贸易专业求职信
2014/06/04 职场文书
小学生思想品德评语
2014/12/31 职场文书
商超业务员岗位职责
2015/02/13 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
安全教育第一课观后感
2015/06/17 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
HTML基础详解(下)
2021/10/16 HTML / CSS
Java实现注册登录跳转
2022/06/16 Java/Android
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL