【Python】HTMLParser:HTML分析

[复制链接]
发表于 2026-1-26 10:09:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
html.parser 是 Python 标准库中的一个模块,用于分析和处置惩罚 HTML。它的核心类是 HTMLParser,这个类提供了多种方法,允许你处置惩罚 HTML 文档的各个部门。我们可以按以下几个模块来详细教学 html.parser 的功能和使用方法。
  HTMLParser 类

HTMLParser 类是 html.parser 模块的核心类,用于分析HTML文档。通过继续这个类并重写其提供的回调方法,你可以自界说对HTML标签、属性和内容的处置惩罚方式。
初始化和根本使用

要使用 HTMLParser 类,通常必要继续它,并在子类中重写一些回调方法。这些方法会在分析过程中自动调用,允许你处置惩罚HTML文档的差异部门。
示例:自界说分析器

  1. from html.parser import HTMLParser
  2. # 创建自定义解析器类,继承HTMLParser
  3. class MyHTMLParser(HTMLParser):
  4.     def handle_starttag(self, tag, attrs):
  5.         print(f"Start tag: {
  6.      
  7.      tag}")
  8.         if attrs:
  9.             for attr in attrs:
  10.                 print(f"  Attribute: {
  11.      
  12.      attr}")
  13.     def handle_endtag(self, tag):
  14.         print(f"End tag: {
  15.      
  16.      tag}")
  17.     def handle_data(self, data):
  18.         print(f"Data: {
  19.      
  20.      data}")
  21. # 创建解析器实例
  22. parser = MyHTMLParser()
  23. # 解析HTML字符串
  24. html_string = "<html><head><title>Test</title></head><body><h1>Title</h1><p>Hello, World!</p></body></html>"
  25. parser.feed(html_string)
复制代码
在这个例子中,MyHTMLParser 类继续了 HTMLParser,并重写了三个方法:handle_starttag、handle_endtag 和 handle_data。这些方法分别用于处置惩罚HTML文档中的开始标签、竣事标签和数据内容。
输出结果
  1. Start tag: html
  2. Start tag: head
  3. Start tag: title
  4. Data: Test
  5. End tag: title
  6. End tag: head
  7. Start tag: body
  8. Start tag: h1
  9. Data: Title
  10. End tag: h1
  11. Start tag: p
  12. Data: Hello, World!
  13. End tag: p
  14. End tag
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表