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中的struct模块
Apr 28 Python
深入理解python try异常处理机制
Jun 01 Python
Windows下安装python2和python3多版本教程
Mar 30 Python
python脚本替换指定行实现步骤
Jul 11 Python
python读取文本中数据并转化为DataFrame的实例
Apr 10 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
Python 多个图同时在不同窗口显示的实现方法
Jul 07 Python
Python 识别12306图片验证码物品的实现示例
Jan 20 Python
Python 写了个新型冠状病毒疫情传播模拟程序
Feb 14 Python
详解Python中list[::-1]的几种用法
Nov 16 Python
通过Python pyecharts输出保存图片代码实例
Nov 25 Python
Python中的变量与常量
Nov 11 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实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
Yii2压缩PHP中模板代码的输出问题
2018/08/28 PHP
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
修复IE9&amp;safari 的sort方法
2011/10/21 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
JS中超越现实的匿名函数用法实例分析
2019/06/21 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
Python写的贪吃蛇游戏例子
2014/06/16 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
python日志模块logbook使用方法
2019/09/19 Python
Python中常用的os操作汇总
2020/11/05 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
vue项目实现分页效果
2021/03/24 Vue.js
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
户外拓展活动方案
2014/02/11 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
党员转正意见怎么写
2015/06/03 职场文书
最美乡村教师观后感
2015/06/11 职场文书
Python答题卡识别并给出分数的实现代码
2021/06/22 Python
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers
Java实现给Word文件添加文字水印
2022/02/15 Java/Android
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL