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 相关文章推荐
两个命令把 Vim 打造成 Python IDE的方法
Mar 20 Python
Python的Django中将文件上传至七牛云存储的代码分享
Jun 03 Python
python导入模块交叉引用的方法
Jan 19 Python
详解用python自制微信机器人,定时发送天气预报
Mar 25 Python
django query模块
Apr 20 Python
Django 模型类(models.py)的定义详解
Jul 19 Python
python基础教程之while循环
Aug 14 Python
Python 70行代码实现简单算式计算器解析
Aug 30 Python
python 实现二维字典的键值合并等函数
Dec 06 Python
文件上传服务器-jupyter 中python解压及压缩方式
Apr 22 Python
class类在python中获取金融数据的实例方法
Dec 10 Python
Django实现翻页的示例代码
May 24 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
实用函数5
2007/11/08 PHP
php程序的国际化实现方法(利用gettext)
2011/08/14 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
PHP缓存技术的多种方法小结
2012/08/14 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
php 可变函数使用小结
2018/06/12 PHP
javascript学习之闭包分析
2010/12/02 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
JS实现图片切换效果
2018/11/17 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
Python更换pip源方法过程解析
2020/05/19 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
Python用户自定义异常的实现
2020/12/25 Python
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
应届生英语教师求职信
2013/11/05 职场文书
表决心的诗句大全
2014/03/11 职场文书
销售人员工作自我评价
2014/09/21 职场文书