当前位置: 首页 > news >正文

python-59-基于python内置库解析html获取标签关键信息

文章目录

  • 1 html.parser
    • 1.1 初始化和基础使用
      • 1.1.1 handle_starttag(self, tag, attrs)
      • 1.1.2 handle_endtag(self, tag)
      • 1.1.3 handle_startendtag(self, tag, attrs)
      • 1.1.4 handle_data(self, data)
      • 1.1.5 handle_comment(self, data)
    • 1.2 解析HTML文档的流程
  • 2 百度搜索关键词链接
    • 2.1 检查页面元素
    • 2.2 获取html
    • 2.3 定义解析器
    • 2.4 抽取链接和标题
    • 2.5 应用测试
  • 3 提取新闻内容
    • 3.1 获取html
    • 3.2 解析html
    • 3.3 触发安全验证
  • 4 参考附录

1 html.parser

html.parser是Python标准库中的一个模块,用于解析和处理HTML。
它的核心类是HTMLParser,这个类提供了多种方法,允许你处理HTML文档的各个部分。
通过继承这个类并重写其提供的回调方法,可以自定义对HTML标签、属性和内容的处理方式。

1.1 初始化和基础使用

from html.parser import HTMLParser

# 创建自定义解析器类,继承HTMLParser
class MyHTMLParser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        print(f"开始tag: {tag}")
        if attrs:
            for attr in attrs:
                print(f"  Attribute: {attr}")

    def handle_endtag(self, tag):
        print(f"结束tag: {tag}")

    def handle_data(self, data):
        print(f"数据: {data}")

# 创建解析器实例
parser = MyHTMLParser()
http://www.dtcms.com/a/97274.html

相关文章:

  • python项目整体文件和依赖打包
  • ​Flink/Kafka在python中的用处
  • 局域网共享失败?打印机/文件夹共享工具
  • 机器学习中的数学知识
  • 【 C 语言实现顺序表的基本操作】(数据结构)
  • 使用matlab进行分位数回归
  • 三数之和
  • B494:开关电源领域的PWM控制新星
  • [特殊字符] AI 编程工具推荐与场景指南 ——提升研发效率的智能助
  • 练习题:109
  • 【机密计算顶会解读】12:机密提示——保护云LLM推理服务中的用户提示词
  • vue将页面导出成word
  • LLM架构解析:NLP基础(第一部分)—— 模型、核心技术与发展历程全解析
  • NO.59十六届蓝桥杯备战|基础算法-前缀和|一维前缀和|最大子段和|二维前缀和|激光炸弹(C++)
  • Dubbo(21)如何配置Dubbo的注册中心?
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加行拖拽排序功能示例7,TableView16_07 列拖拽排序示例
  • Java 开发中的 AI 黑科技:如何用 AI 工具自动生成 Spring Boot 项目脚手架?
  • Python中的装饰器
  • 刘火良FreeRTOS内核实现与应用学习之6——多优先级
  • 蓝桥杯备考:模拟算法之排队接水
  • skynet.socket.limit 使用详解
  • 数据结构每日一题day5(顺序表)★★★★★
  • 为mariadb和mysql添加用户和修改密码的方法
  • 树莓派 —— 在树莓派4b板卡下编译FFmpeg源码,支持硬件编解码器(mmal或openMax硬编解码加速)
  • 清华大学第10讲:迈向未来的AI教学实验396页PPT 探索未来教育的无限可能|附PPT下载方法
  • 毕业设计:实现一个基于Python、Flask和OpenCV的人脸打卡Web系统(六)
  • 2025年最新自动化/控制保研夏令营预推免面试真题分享(东南大学苏州校区/华东理工/南航/天大)
  • 封装了一个支持多个分区的iOS自适应动态宽度layout
  • 探索MVC、MVP、MVVM和DDD架构在不同编程语言中的实现差异
  • 自然语言处理|人工智能如何革新作文批改:技术全解析