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 相关文章推荐
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
Jan 19 Python
python登陆asp网站页面的实现代码
Jan 14 Python
Python守护进程和脚本单例运行详解
Jan 06 Python
python 3利用BeautifulSoup抓取div标签的方法示例
May 28 Python
Windows平台Python连接sqlite3数据库的方法分析
Jul 12 Python
python交互式图形编程实例(二)
Nov 17 Python
python实现对输入的密文加密
Mar 20 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
Apr 22 Python
python集合能干吗
Jul 19 Python
python开发入门——set的使用
Sep 03 Python
利用Python实现Json序列化库的方法步骤
Sep 09 Python
Python scrapy爬取起点中文网小说榜单
Jun 13 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实现建立多层级目录的方法
2014/07/19 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
Opacity.js
2007/01/22 Javascript
JavaScript 全角转半角部分
2009/10/28 Javascript
js的逻辑运算符 ||
2010/05/31 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
jquery 实现checkbox全选,反选,全不选等功能代码(奇数)
2012/10/24 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
JS基于Mootools实现的个性菜单效果代码
2015/10/21 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
js模糊查询实例分享
2016/12/26 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
javascript+css3开发打气球小游戏完整代码
2017/11/28 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
autojs 蚂蚁森林能量自动拾取即给指定好友浇水的实现方法
2020/05/03 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
在Linux下调试Python代码的各种方法
2015/04/17 Python
python删除列表内容
2015/08/04 Python
用Python进行简单图像识别(验证码)
2018/01/19 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
Linux下python制作名片示例
2018/07/20 Python
python对象销毁实例(垃圾回收)
2020/01/16 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
美国翻新电子产品商店:The Store
2019/10/08 全球购物
2019史上最全Database工程师题库
2015/12/06 面试题
应届毕业生求职信范文分享
2013/12/26 职场文书
学校后勤人员职责
2013/12/27 职场文书
经理助理岗位职责
2014/03/05 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
Python字典的基础操作
2021/11/01 Python
阿里云日志过滤器配置日志服务
2022/04/09 Servers