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

探索尝试-ai编程-01-使用ai编程处理单文件的特定文本内容筛选

快速回顾:一次使用ai编程处理单文件的特定文本内容筛选的记录

需求描述

在neatireader上阅读书籍,然后通过标注做了摘要笔记,但是软件上导出笔记到印象笔记软件失败,使用纯文本方式复制,有其他不相关的内容在,希望通过编程的方式对文本内容进行过滤;

关键特征强调

纯文本内容(关注文本特征)示例如下

<div>第1条</div><div>颜色:红色</div><div>高亮文本:2014年9月第1版</div><div>笔记内容:</div><div>更新时间:2025-06-03 22:26:09</div><div>==================================================================</div><div>第2条</div><div>颜色:红色</div><div>高亮文本:“好书”的标准在我看来至少包括两点:内容科学、逻辑严谨却又通俗易懂、语言风趣;酷似专业书籍却也是大众读物</div><div>笔记内容:</div><div>更新时间:2025-06-03 22:26:21</div><div>==================================================================</div><div>第3条</div><div>颜色:红色</div><div>高亮文本:《心理医生为什么没有告诉我》就是这一类的好书。书中介绍的整合疗法可以根据个体的人格特质,生理、心理状况,以及表现出的症状,从放松(不同于一般意义的放松)、身体锻炼、日常饮食调节、正念冥思等方面,配合暴露疗法、脱敏疗法、内观疗法等制订出个性化的治疗模式,再结合药物治疗,从而取得很好的疗效</div><div>笔记内容:</div><div>更新时间:2025-06-03 22:26:32</div><div>==================================================================</div>

向ai的提问

在豆包ai上进行了提问内容

对话1-1:希望通过python代码,实现对本地单个html文件中指定内容的批量提取,提取文本间有空格区分,需要提取的内容标志是高亮文本开头;
对话1-2:尝试对如下内容中的高亮文本内容进行提取,贴上一小段包含特征的文本内容;
对话1-3:将html文件的路径以对话框的方式提示用户输入;

这是最后生成的代码文件,直接在trae cn软件上执行,能够正常运行,对应弹框选中待处理的html文本,然后选择输出txt的文件名,能够执行成功;

对生成代码文件的尝试执行和微调

from bs4 import BeautifulSoup
import tkinter as tk
from tkinter import filedialog, messagebox
import sysdef extract_highlighted_content(html_content):soup = BeautifulSoup(html_content, 'html.parser')highlighted_texts = []current_entry = Nonefor div in soup.find_all('div'):text = div.get_text(strip=True)if text.startswith('第') and text.endswith('条'):current_entry = {'序号': text, '高亮文本': ''}highlighted_texts.append(current_entry)elif current_entry and text.startswith('高亮文本:'):current_entry['高亮文本'] = text[5:].strip()  # 去掉"高亮文本:"前缀return highlighted_textsdef main():# 创建隐藏的Tkinter根窗口root = tk.Tk()root.withdraw()  # 隐藏主窗口# 显示文件选择对话框messagebox.showinfo("提示", "请选择要处理的HTML文件")file_path = filedialog.askopenfilename(title="选择HTML文件",filetypes=[("HTML文件", "*.html;*.htm"), ("所有文件", "*.*")])if not file_path:messagebox.showinfo("取消", "操作已取消")sys.exit(0)try:with open(file_path, 'r', encoding='utf-8') as file:html_content = file.read()except FileNotFoundError:messagebox.showerror("错误", f"找不到文件: {file_path}")sys.exit(1)except Exception as e:messagebox.showerror("错误", f"读取文件时出错: {str(e)}")sys.exit(1)results = extract_highlighted_content(html_content)if not results:messagebox.showinfo("结果", "未找到匹配的高亮文本内容")sys.exit(0)output = []for idx, entry in enumerate(results, 1):output.append(f"第{idx}条高亮文本:")output.append(entry['高亮文本'])output.append("-" * 50)output_text = '\n'.join(output)# 显示保存对话框messagebox.showinfo("提示", "请选择保存结果的文件位置")save_path = filedialog.asksaveasfilename(title="保存结果",defaultextension=".txt",filetypes=[("文本文件", "*.txt"), ("所有文件", "*.*")])if save_path:try:with open(save_path, 'w', encoding='utf-8') as file:file.write(output_text)messagebox.showinfo("成功", f"结果已保存至: {save_path}")except Exception as e:messagebox.showerror("错误", f"保存文件时出错: {str(e)}")sys.exit(1)else:# 如果用户取消保存,直接显示结果messagebox.showinfo("提取结果", output_text)if __name__ == "__main__":main()    

在这里插入图片描述

处理之后的效果确认

处理之后的文本内容示例如下

第1条高亮文本:
2014年9月第1版
--------------------------------------------------
第2条高亮文本:
“好书”的标准在我看来至少包括两点:内容科学、逻辑严谨却又通俗易懂、语言风趣;酷似专业书籍却也是大众读物
--------------------------------------------------
第3条高亮文本:
《心理医生为什么没有告诉我》就是这一类的好书。书中介绍的整合疗法可以根据个体的人格特质,生理、心理状况,以及表现出的症状,从放松(不同于一般意义的放松)、身体锻炼、日常饮食调节、正念冥思等方面,配合暴露疗法、脱敏疗法、内观疗法等制订出个性化的治疗模式,再结合药物治疗,从而取得很好的疗效
--------------------------------------------------
第4条高亮文本:
上世纪90年代,认知行为疗法逐渐发展成为治疗焦虑症的首要疗法。

探索尝试的过程回顾

之前有尝试过python对html页面指定元素的筛选和提取,所以知道是具有可行性的;–是否可行的判断
对于输入/处理/输出的环节中,待处理文本的路径和位置要明确,或者就是通过窗口的方式可以手工选择,弹框选择文本路径的方式,对代码复用和人类友好性更好一些;–能否更好的判断

http://www.lryc.cn/news/573719.html

相关文章:

  • 核心概念解析:AI、数据挖掘、机器学习与深度学习的关系
  • 从零理解鱼眼相机的标定与矫正(含 OpenCV 代码与原理讲解)
  • mp.set_start_method(“spawn“)
  • 可理解性输入:洗澡习惯
  • 时序数据库IoTDB的架构、安装启动方法与数据模式总结
  • Linux 服务器运维:磁盘管理与网络配置
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(三十六) -> 配置构建(三)
  • 面试150 加油站
  • 7.4.1_1B树
  • 如何仅用AI开发完整的小程序<5>—让AI制作开始页面
  • 如何用AI开发完整的小程序<8>—让AI制作具体功能
  • Spark教程1:Spark基础介绍
  • C# Quartz.net 定时任务
  • Python 数据分析与可视化 Day 4 - Pandas 数据筛选与排序操作
  • Maven生命周期,测试
  • Python期末速成
  • Flink图之间流转解析:从逻辑构建到物理执行的深度剖析
  • 集群聊天服务器---muduo库的使用
  • 无锡哲讯科技:助力纺织业搭乘 SAP 数字化快车
  • 颠覆传统接口测试!用 Streamlit + SQLite + GPT 打造可视化自动化平台
  • Linux安全基石:Shell运行原理与权限管理系统解读
  • 企业级安全实践:SSL 加密与权限管理(二)
  • 设计模式精讲 Day 10:外观模式(Facade Pattern)
  • Java面试复习:基础、面向对象、多线程、JVM与Spring核心考点
  • 药房智慧化升级:最优成本条件下开启地市级医院智慧医疗新变革
  • c#多线程中的字典键值对象ConcurrentDictionary线程安全
  • 《HTTP权威指南》 第14章 安全HTTP
  • 【JS-4.4-键盘常用事件】深入理解DOM键盘事件:提升用户交互体验的关键
  • “MOOOA多目标鱼鹰算法在无人机多目标路径规划
  • leetcode:面试题 08.01. 三步问题