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 相关文章推荐
windows下wxPython开发环境安装与配置方法
Jun 28 Python
python使用PIL缩放网络图片并保存的方法
Apr 24 Python
Django框架实现的简单分页功能示例
Dec 04 Python
Django实现学生管理系统
Feb 26 Python
python的re模块使用方法详解
Jul 26 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
Aug 06 Python
解决Mac下使用python的坑
Aug 13 Python
Pytorch to(device)用法
Jan 08 Python
带你学习Python如何实现回归树模型
Jul 16 Python
python drf各类组件的用法和作用
Jan 12 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
Feb 24 Python
Python 调用C++封装的进一步探索交流
Mar 04 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
人大复印资料处理程序_查询篇
2006/10/09 PHP
PHP生成静态页面详解
2006/12/05 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
jQuery 连续列表实现代码
2009/12/21 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
JavaScript forEach()遍历函数使用及介绍
2015/07/08 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
2017/02/13 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
浅析Python中的多重继承
2015/04/28 Python
详解Python中的动态属性和特性
2018/04/07 Python
python pandas修改列属性的方法详解
2018/06/09 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
Python数据类型之Dict字典实例详解
2019/05/07 Python
python小项目之五子棋游戏
2019/12/26 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
环境科学毕业生自荐信
2013/11/21 职场文书
《都江堰》教学反思
2014/02/07 职场文书
工作分析计划书
2014/04/30 职场文书
健康教育评估方案
2014/05/25 职场文书
代办社保委托书范文
2014/10/06 职场文书
会议邀请函
2015/01/30 职场文书
anaconda python3.8安装后降级
2021/06/11 Python
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android
无线电知识基础入门篇
2022/02/18 无线电
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA
iOS 16进一步确认,一共支持16款iPhone
2022/04/28 数码科技
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers