python中的标准库html

 更新时间:2022年04月29日 10:38:36   作者:爱听音乐的boy  
html库是用于解析HTML的一个工具,是python自带的标准库之一,今天通过本文给大家介绍下python中的标准库html,感兴趣的朋友一起看看吧

python之标准库html

html库是用于解析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)) #理解还原即可

输出结果:

在这里插入图片描述

escape源码的实现:

在这里插入图片描述

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)

输出结果:

在这里插入图片描述

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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python3读取csv文件任意行列代码实例

    python3读取csv文件任意行列代码实例

    这篇文章主要介绍了python3读取csv文件任意行列代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 图神经网络GNN算法基本原理详解

    图神经网络GNN算法基本原理详解

    这篇文章主要为大家介绍了图神经网络GNN算法基本原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 如何用python实现结构体数组

    如何用python实现结构体数组

    这篇文章主要介绍了如何用python实现结构体数组,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • pytorch tensor按广播赋值scatter_函数的用法

    pytorch tensor按广播赋值scatter_函数的用法

    这篇文章主要介绍了pytorch tensor按广播赋值scatter_函数的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python操作Git的项目实践

    Python操作Git的项目实践

    本文介绍了使用Python和GitPython库进行各种Git操作,包括打开仓库、查询状态、添加和提交更改等,具有一定的参考价值,感兴趣的可以了解一下
    2024-12-12
  • Python之京东商品秒杀的实现示例

    Python之京东商品秒杀的实现示例

    这篇文章主要介绍了Python之京东商品秒杀的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Python算法绘制特洛伊小行星群实现示例

    Python算法绘制特洛伊小行星群实现示例

    这篇文章主要介绍了Python算法绘制特洛伊小行星群实现示例,这个小示例完成后非常的有意思也会使你在Python学习的道路上感到一丝丝小成就
    2021-10-10
  • 用什么库写 Python 命令行程序(示例代码详解)

    用什么库写 Python 命令行程序(示例代码详解)

    这篇文章主要介绍了用什么库写 Python 命令行程序,这一篇文章给大家介绍的非常详细全面看这一天足够了,需要的朋友可以参考下
    2020-02-02
  • Puppeteer使用示例详解

    Puppeteer使用示例详解

    这篇文章主要介绍了Puppeteer使用示例详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • 详解Python NumPy如何使用argsort方法进行排序

    详解Python NumPy如何使用argsort方法进行排序

    NumPy提供了各种功能强大的数组操作方法,其中之一就是argsort方法,本文将详细介绍argsort方法的使用,以及如何在实际项目中充分利用它进行排序操作,希望对大家有所帮助
    2024-03-03

最新评论