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判断文本中消息重复次数的方法
Apr 27 Python
Flask框架的学习指南之制作简单blog系统
Nov 20 Python
Python学习小技巧总结
Jun 10 Python
Python设计模式之组合模式原理与用法实例分析
Jan 11 Python
ML神器:sklearn的快速使用及入门
Jul 11 Python
python实现代码统计程序
Sep 19 Python
使用Python制作新型冠状病毒实时疫情图
Jan 28 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
使用keras实现非线性回归(两种加激活函数的方式)
Jul 05 Python
详解python中的异常捕获
Dec 15 Python
教你如何使用Python实现二叉树结构及三种遍历
Jun 18 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设计模式中单例模式的应用分析
2013/05/15 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
一个js过滤空格的小函数
2014/10/10 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
Javascript验证方法大全
2015/09/21 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
JS实现面向对象继承的5种方式分析
2018/07/21 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
微信小程序实现多张图片上传功能
2020/11/18 Javascript
Python使用gRPC传输协议教程
2018/10/16 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
医药代表个人求职信范本
2013/12/19 职场文书
小学生操行评语大全
2014/04/22 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
Java对文件的读写操作方法
2022/04/29 Java/Android