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

news/2025/4/1 3:45:31/

文章目录

  • 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 参考附录

htmlparser_2">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.ppmy.cn/news/1584052.html

相关文章

Ruby 简介

Ruby 简介 引言 Ruby 是一种广泛使用的动态、开源的编程语言,自 1995 年由日本程序员 Yukihiro Matsumoto(通称 Matz)设计以来,它以其优雅的语法、强大的库支持和跨平台特性赢得了全球开发者的青睐。本文将详细介绍 Ruby 的起源、特点、应用领域以及它在现代软件开发中的…

在MFC中使用Qt(四):使用属性表(Property Sheet)实现自动化Qt编译流程

前言 首先回顾下前面文章介绍的: 在MFC中使用Qt(一):玩腻了MFC,试试在MFC中使用Qt!(手动配置编译Qt) 在MFC中使用Qt(二):实现Qt文件的自动编译流…

项目-苍穹外卖(十五) Apache ECharts+数据统计

一、介绍 二、营业额统计 需求分析和设计&#xff1a; Controller: Service: /*** 营业额统计* param begindate* param enddate* return* */Overridepublic TurnoverReportVO turnoverStatistics(LocalDate begindate, LocalDate enddate) {//创建时间集合List<LocalDate&…

对匿名认证的理解

概述&#xff1a;在 Spring Security 中&#xff0c;** 匿名认证&#xff08;Anonymous Authentication&#xff09;** 是一种特殊的认证机制&#xff0c;用于处理未提供有效凭证的请求。 匿名认证的本质 目的&#xff1a;允许未认证用户访问特定资源。原理&#xff1a; 当请求…

Claude 3.7:混合推理架构如何重塑AI编程范式

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…

[MRCTF2020]套娃

一。 按F12看源代码 发现代码 读代码发现 1.我们传的参数中不能存在_和%5f&#xff0c;可以通过使用空格来代替_&#xff0c;还是能够上传成功。 2.正则表达式"/^23333/ " &#xff0c;开头结尾都被 " " 和 " /"&#xff0c;开头结尾都被&qu…

!!!谷歌停止开源安卓

2025年3月27日&#xff0c;谷歌宣布将停止维护Android开源项目&#xff08;AOSP&#xff09;&#xff0c;未来所有Android开发将仅在谷歌内部进行。这一决定对安卓生态系统和开发者产生了深远影响。 一、事件背景 AOSP&#xff08;Android Open Source Project&#xff09;是…

设计心得——发布订阅

一、发布/订阅 发布/订阅&#xff08;Pub/Sub&#xff09;方式&#xff0c;在互联网中应用是极其广泛的&#xff0c;可以不负责任的说&#xff0c;只要上过网就用到过这种消息通信模式。发布/订阅基于异步通信模式&#xff0c;允许消息的生产者&#xff08;Publisher&#xff…