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 24 Python
快速入手Python字符编码
Aug 03 Python
python读取文件名称生成list的方法
Apr 27 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
Python 使用多属性来进行排序
Sep 01 Python
python BlockingScheduler定时任务及其他方式的实现
Sep 19 Python
浅谈python输出列表元素的所有排列形式
Feb 26 Python
使用Python爬取小姐姐图片(beautifulsoup法)
Feb 11 Python
Python3使用Selenium获取session和token方法详解
Feb 16 Python
教你使用TensorFlow2识别验证码
Jun 11 Python
Python将CSV文件转化为HTML文件的操作方法
Jun 30 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函数解决SQL injection
2006/12/09 PHP
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
PHP删除数组中的特定元素的代码
2012/06/28 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
javascript new一个对象的实质
2010/01/07 Javascript
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
Jvascript学习实践案例(开发常用)
2012/06/25 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
2015/03/18 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
前端微信支付js代码
2016/07/25 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
JS图片轮播与索引变色功能实例详解
2017/07/06 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
JS数组求和的常用方法实例小结
2019/01/07 Javascript
js数组去重的方法总结
2019/01/18 Javascript
python实现博客文章爬虫示例
2014/02/26 Python
Python yield 小结和实例
2014/04/25 Python
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2018/05/26 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
Python安装OpenCV的示例代码
2020/03/05 Python
使用HTML5拍照示例代码
2013/08/06 HTML / CSS
捷克玩具商店:Bambule
2019/02/23 全球购物
售后客服工作职责
2014/06/16 职场文书
鸟的天堂导游词
2015/01/31 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
荒岛余生观后感
2015/06/09 职场文书
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python