news 2026/4/27 21:30:47

flask 》》内置HTMLParser

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
flask 》》内置HTMLParser

fromhtml.parser import HTMLParserclassLinkExtractor(HTMLParser):"""一个自定义的HTML解析器,用于提取所有链接"""def__init__(self):# 初始化父类,convert_charrefs=True 是默认且推荐的设置super().__init__(convert_charrefs=True)self.links=[]# 用于存储提取到的链接defhandle_starttag(self,tag,attrs):"""重写开始标签处理方法"""# 我们只关心 <a> 标签iftag=='a':# attrs 是一个包含 (属性名, 属性值) 元组的列表forattr_name,attr_valueinattrs:ifattr_name=='href':# 找到 href 属性,将其添加到列表中self.links.append(attr_value)print(f"找到一个链接: {attr_value}")defhandle_data(self,data):"""重写文本处理方法,这里仅仅是演示,可以对文本做进一步处理"""# 对于提取链接这个任务,我们实际上不需要处理文本pass# 1. 准备一段待解析的HTML代码片段sample_html="""<divclass="container"><h1>我的收藏夹</h1><p>欢迎来到我的<ahref="https://example.com">示例网站</a></p><ul><li><ahref="https://python.org">Python官网</a></li><li><ahref="/about">关于我们</a></li><li><a>这是一个无效的链接,没有href属性</a></li></ul><imgsrc="logo.png"alt="Logo"></div>"""# 2. 创建解析器实例parser=LinkExtractor()# 3. 将HTML数据喂给解析器# 注意 feed 方法可以分多次调用,对于流式数据非常有用parser.feed(sample_html)# 4. 解析完成后,可以获取结果print("\n所有提取到的链接:")forlinkinparser.links:print(link)################ 结 果 ##########################找到一个链接:https://example.com 找到一个链接:https://python.org 找到一个链接:/about 所有提取到的链接: https://example.comhttps://python.org/about
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 21:30:44

5分钟掌握APK-Installer:Windows上安装Android应用的终极指南

5分钟掌握APK-Installer&#xff1a;Windows上安装Android应用的终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上直接运行你喜爱的Android应…

作者头像 李华
网站建设 2026/4/27 21:29:54

E7Helper:第七史诗自动化助手完整使用指南

E7Helper&#xff1a;第七史诗自动化助手完整使用指南 【免费下载链接】e7Helper 【Epic Seven Auto Bot】第七史诗多功能覆盖脚本(刷书签&#x1f343;&#xff0c;挂讨伐、后记、祭坛✌️&#xff0c;挂JJC等&#x1f4db;&#xff0c;多服务器支持&#x1f4fa;&#xff0c;…

作者头像 李华
网站建设 2026/4/27 21:28:59

Qtui文件界面模块化设计以及开发qss样式表文件

Qt开发ui文件界面模块化设计 一、Qt界面模块化设计 Qt界面模块化就是使用一个.ui文件等于一个类(界面类)的思路,然后在主界面直接调用这个界面类&#xff0c;说白了就是主界面包含N个界面类,这就是面向对象的最基本用法&#xff1a;类的实例化与组合。 二、一个ui文件自动生成…

作者头像 李华
网站建设 2026/4/27 21:26:54

开源语音识别OASR部署指南:从Whisper模型到私有化音频处理

1. 项目概述&#xff1a;当语音识别遇上开源&#xff0c;OASR如何重塑音频处理体验最近在折腾一个需要处理大量会议录音和访谈音频的项目&#xff0c;传统的商业语音识别服务要么太贵&#xff0c;要么对中文支持不够友好&#xff0c;要么就是数据隐私问题让人头疼。就在我四处寻…

作者头像 李华