Python读取Chrome历史记录SQLite数据库并导出Excel完整教程
1. 项目概述与核心价值最近在整理一些工作流发现浏览器历史记录是个信息宝库但Chrome自带的导出功能实在有限只能导出一个HTML文件想按时间、访问频次做个统计分析或者筛选出特定域名的访问记录基本没戏。于是我就琢磨着用Python直接去读Chrome的本地数据库把数据捞出来再规规矩矩地写到Excel表格里。这活儿听起来简单但真动手了你会发现从找到数据库文件、理解它的结构到安全地读取数据、处理编码再到优雅地写入Excel每一步都有不少门道。今天我就把这个从零到一的过程连同我踩过的坑和总结的技巧完整地分享出来。无论你是想做个个人上网行为分析还是需要批量处理历史记录做数据备份甚至是做一些自动化测试的数据准备这套方法都能给你提供一个清晰、可靠的实操路径。2. 核心思路与技术选型解析2.1 为什么选择Python和SQLiteChrome浏览器将用户的浏览历史、书签、Cookie等数据都存储在本地的SQLite数据库文件中。这是一个轻量级、无服务器的数据库引擎整个数据库就是一个.db文件。Python内置了sqlite3模块可以无缝连接和操作SQLite数据库这为我们直接读取历史记录提供了最直接、最底层的通道。相比于去解析Chrome导出的HTML文件直接读取数据库能获得最原始、最结构化的数据字段齐全也便于进行复杂的查询和过滤。另一个关键选择是openpyxl库来处理Excel。市面上处理Excel的Python库不少比如xlrd/xlwt老版本格式、pandas功能强大但重、xlsxwriter写功能强。我选择openpyxl是因为它能很好地读写.xlsx格式这是现在的主流API相对直观对单元格格式、公式、图表等高级功能支持也不错而且它纯Python实现依赖少安装方便。对于我们这个“读数据-写表格”的核心需求来说它是最趁手的工具。2.2 Chrome历史记录数据库在哪里这是第一个实操难点因为路径因操作系统而异并且Chrome可能会因为多用户Profile而产生多个数据目录。Windows系统通常位于C:\Users\[你的用户名]\AppData\Local\Google\Chrome\User Data\Default。其中的History文件就是我们要找的SQLite数据库。注意AppData是隐藏文件夹你需要在文件资源管理器的“查看”选项中勾选“隐藏的项目”才能看到。macOS系统路径为/Users/[你的用户名]/Library/Application Support/Google/Chrome/Default/History。同样Library文件夹在较新版本的macOS中默认也是隐藏的你可以通过Finder的“前往”菜单按住Option键点击“资源库”进入。Linux系统一般在~/.config/google-chrome/default/History。重要提示在你尝试用Python连接这个数据库文件时必须确保Chrome浏览器是完全关闭的。因为Chrome在运行时会以独占方式锁定这个数据库文件任何外部进程都无法写入甚至读取都可能出错。我一开始就忘了关浏览器连接时报了一堆“database is locked”的错误排查了半天才反应过来。2.3 数据库结构初探Chrome的History数据库里有很多表但我们最关心的是urls表和visits表。urls表存储了所有访问过的URL的基本信息。核心字段包括idURL的唯一标识。url完整的网页地址。title网页的标题。visit_count总访问次数。last_visit_time最后一次访问的时间戳。visits表存储了每一次具体的访问记录。核心字段包括id访问记录的唯一标识。url对应urls.id关联到具体的URL。visit_time访问发生的时间戳。from_visit这次访问是从哪次访问跳转过来的用于还原浏览链。transition一个数字代码表示访问类型如直接输入地址、点击链接、表单提交等。这两个表通过urls.id和visits.url关联。我们通常需要联合查询才能得到一份包含“访问时间、网页标题、URL、访问次数”的完整清单。3. 环境准备与核心代码实现3.1 安装必要的Python库我们只需要两个库。打开你的终端Windows上是CMD或PowerShellmacOS/Linux是Terminal执行以下命令pip install openpyxlsqlite3是Python标准库无需额外安装。openpyxl的安装通常很顺利如果遇到网络问题可以考虑使用国内镜像源例如pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple。3.2 构建完整的Python脚本下面是我经过多次调试和优化后的完整脚本包含了详细的注释。你可以将它保存为一个.py文件比如chrome_history_to_excel.py。import os import sqlite3 from datetime import datetime, timedelta import openpyxl from openpyxl.styles import Font, Alignment def chrome_history_to_excel(output_excel_pathchrome_history.xlsx): 读取Chrome历史记录并导出到Excel。 Args: output_excel_path (str): 输出的Excel文件路径默认为当前目录下的chrome_history.xlsx。 # 1. 定位Chrome历史记录数据库文件 # 根据操作系统自动判断路径 if os.name nt: # Windows history_db_path os.path.expanduser(~) r\AppData\Local\Google\Chrome\User Data\Default\History elif os.name posix: # macOS or Linux # 先尝试macOS路径 history_db_path os.path.expanduser(~) /Library/Application Support/Google/Chrome/Default/History if not os.path.exists(history_db_path): # 如果不存在尝试Linux路径 history_db_path os.path.expanduser(~) /.config/google-chrome/default/History else: print(不支持的操作系统。) return if not os.path.exists(history_db_path): print(f未找到Chrome历史记录文件请检查路径: {history_db_path}) print(请确保1. Chrome已完全关闭。 2. 使用的是默认用户配置(Default)。) return print(f找到数据库文件: {history_db_path}) # 2. 连接到SQLite数据库 try: # 注意必须以只读模式打开避免对原数据库造成任何影响 conn sqlite3.connect(ffile:{history_db_path}?modero, uriTrue) cursor conn.cursor() except sqlite3.Error as e: print(f连接数据库失败: {e}) return # 3. 执行SQL查询获取历史记录 # Chrome的时间戳是“WebKit/Chrome时间戳”即从1601年1月1日开始的微秒数。 # 我们需要将其转换为Python的datetime对象。 # 公式: utc_time datetime(1601, 1, 1) timedelta(microsecondstimestamp) query SELECT datetime((visits.visit_time / 1000000) - 11644473600, unixepoch, localtime) AS visit_time, urls.title, urls.url, urls.visit_count, CASE visits.transition WHEN 0 THEN 链接点击 WHEN 1 THEN 输入地址 WHEN 2 THEN 自动补全 WHEN 3 THEN 表单提交 WHEN 7 THEN 重新加载 ELSE 其他 END AS transition_type FROM visits JOIN urls ON visits.url urls.id WHERE urls.title IS NOT NULL AND urls.title ! -- 过滤掉无标题的记录 ORDER BY visits.visit_time DESC LIMIT 1000 -- 为了避免数据量过大先限制1000条可以根据需要调整或删除 try: cursor.execute(query) history_data cursor.fetchall() print(f成功读取 {len(history_data)} 条历史记录。) except sqlite3.Error as e: print(f查询数据失败: {e}) conn.close() return finally: conn.close() if not history_data: print(没有查询到历史记录。) return # 4. 创建Excel工作簿并写入数据 wb openpyxl.Workbook() ws wb.active ws.title Chrome历史记录 # 设置表头 headers [访问时间, 网页标题, 网址 (URL), 访问次数, 访问类型] for col_num, header in enumerate(headers, 1): cell ws.cell(row1, columncol_num, valueheader) # 设置表头样式加粗、居中 cell.font Font(boldTrue) cell.alignment Alignment(horizontalcenter) # 写入数据行 for row_num, row_data in enumerate(history_data, 2): # 从第2行开始写数据 for col_num, cell_value in enumerate(row_data, 1): ws.cell(rowrow_num, columncol_num, valuecell_value) # 调整列宽自适应简单处理 for column in ws.columns: max_length 0 column_letter column[0].column_letter for cell in column: try: if len(str(cell.value)) max_length: max_length len(str(cell.value)) except: pass adjusted_width min(max_length 2, 50) # 设置一个最大宽度避免过宽 ws.column_dimensions[column_letter].width adjusted_width # 5. 保存Excel文件 try: wb.save(output_excel_path) print(f历史记录已成功导出到: {os.path.abspath(output_excel_path)}) except Exception as e: print(f保存Excel文件失败: {e}) if __name__ __main__: # 可以在这里指定自定义的输出路径例如./我的浏览记录.xlsx chrome_history_to_excel()3.3 代码关键点解析路径自动判断脚本通过os.name判断操作系统并尝试拼接出通用的数据库路径。os.path.expanduser(~)能自动获取当前用户的主目录提高了跨平台的兼容性。只读模式连接sqlite3.connect(ffile:{history_db_path}?modero, uriTrue)中的modero参数至关重要。它确保我们以只读方式打开数据库即使脚本有bug也绝不会意外修改或损坏你宝贵的Chrome数据。时间戳转换这是整个数据处理的核心难点。Chrome使用一种特殊的“WebKit时间戳”起点是1601年1月1日。SQL语句中的datetime((visits.visit_time / 1000000) - 11644473600, unixepoch, localtime)完成了从古怪时间戳到本地可读时间的转换。11644473600是1601年1月1日到1970年1月1日Unix时间戳起点之间的秒数。SQL查询逻辑我们使用JOIN关联visits和urls表。WHERE urls.title IS NOT NULL AND urls.title ! 过滤掉了那些没有标题的记录比如下载页面、空白页等让导出的数据更干净。ORDER BY visits.visit_time DESC按访问时间降序排列最新的记录在最前面更符合查看习惯。LIMIT 1000是一个安全措施防止历史记录太多导致Excel卡死。初次测试时可以加上确认无误后可以注释掉或改大。Excel样式处理使用openpyxl.styles为表头设置了加粗和居中。自动调整列宽的逻辑虽然简单取本列最长内容的长度但能显著改善表格的默认显示效果。4. 运行脚本与结果验证4.1 执行步骤确保Chrome完全退出在任务管理器Windows或活动监视器macOS中确认没有chrome.exe或Google Chrome进程。保存脚本将上面的代码复制到一个文本编辑器中保存为chrome_history_to_excel.py。运行脚本打开终端导航到脚本所在目录运行命令python chrome_history_to_excel.py如果你有多个Python环境可能需要使用python3命令。查看输出如果一切顺利你会在终端看到“成功读取...条历史记录”和“已成功导出到...”的提示。在当前目录下你会找到一个名为chrome_history.xlsx的文件。4.2 结果示例与解读用Excel或WPS打开生成的.xlsx文件你会看到一个包含五列的表格访问时间网页标题网址 (URL)访问次数访问类型2023-10-27 14:30:15GitHubhttps://github.com42链接点击2023-10-27 14:25:03某技术博客https://example.com/blog5输入地址访问时间精确到秒的本地时间。网页标题浏览器标签页上显示的名称。网址完整的网页地址。访问次数该URL被访问的总次数来自urls.visit_count。访问类型根据transition字段翻译的中文描述帮你了解这次访问是如何发生的。现在你就可以利用Excel强大的筛选、排序、数据透视表等功能对你的浏览行为进行分析了。比如找出访问最频繁的网站回顾某一天具体浏览了哪些页面或者导出某个特定时间段的所有访问链接。5. 进阶技巧与自定义扩展基础的导出功能已经实现但我们可以让它更强大、更贴合个人需求。5.1 处理多用户Profile情况很多人会为工作、个人生活创建不同的Chrome用户。它们的History文件不在Default文件夹而在Profile 1、Profile 2等文件夹内。我们可以修改脚本让其支持选择或遍历所有用户配置。import glob def find_all_chrome_profiles(base_path): 查找所有Chrome用户配置目录下的History文件 history_files [] # 在User Data目录下寻找所有类似‘Profile *’或‘Default’的文件夹 profile_patterns [Default, Profile *] for pattern in profile_patterns: search_path os.path.join(base_path, pattern, History) for history_file in glob.glob(search_path): if os.path.exists(history_file): history_files.append(history_file) return history_files # 在主函数中可以先获取所有History文件让用户选择或批量处理 if os.name nt: base_dir os.path.expanduser(~) r\AppData\Local\Google\Chrome\User Data else: # ...类似逻辑处理macOS/Linux all_history_files find_all_chrome_profiles(base_dir) for i, hf in enumerate(all_history_files): print(f{i}: {hf}) # 可以让用户输入数字选择或者用第一个或者循环处理所有5.2 增加时间范围过滤我们可能只想导出最近一周、一个月或某个特定日期段的历史记录。这需要在SQL查询的WHERE子句中增加时间条件。def get_history_with_time_range(cursor, start_dtNone, end_dtNone): 根据时间范围查询历史记录。 时间参数应为Python的datetime对象。 query_base SELECT ... FROM visits JOIN urls ... WHERE 11 params [] if start_dt: # 将Python datetime转换为Chrome时间戳微秒 # 首先转换为Unix时间戳秒然后加上偏移量再转换为微秒 epoch_start int(start_dt.timestamp()) 11644473600 chrome_timestamp_start epoch_start * 1000000 query_base AND visits.visit_time ? params.append(chrome_timestamp_start) if end_dt: epoch_end int(end_dt.timestamp()) 11644473600 chrome_timestamp_end epoch_end * 1000000 query_base AND visits.visit_time ? params.append(chrome_timestamp_end) query_base ORDER BY visits.visit_time DESC cursor.execute(query_base, params) return cursor.fetchall() # 在主函数中调用示例导出2023年10月的数据 from datetime import datetime start_date datetime(2023, 10, 1) end_date datetime(2023, 10, 31, 23, 59, 59) data get_history_with_time_range(cursor, start_date, end_date)5.3 优化Excel输出多个工作表你可以将不同用户Profile的历史记录导出到同一个Excel文件的不同工作表Sheet中。for profile_name, history_db_path in profile_dict.items(): ws wb.create_sheet(titleprofile_name[:31]) # 工作表名最多31字符 # ... 在该工作表写入数据 ...添加筛选器在写入数据后为表头行添加自动筛选功能。ws.auto_filter.ref ws.dimensions # 对当前使用的所有区域启用筛选条件格式例如将访问次数大于10次的网址标为高亮。from openpyxl.formatting.rule import CellIsRule from openpyxl.styles import PatternFill red_fill PatternFill(start_colorFFFF00, end_colorFFFF00, fill_typesolid) # 假设“访问次数”在第4列D列 ws.conditional_formatting.add(fD2:D{ws.max_row}, CellIsRule(operatorgreaterThan, formula[10], fillred_fill))6. 常见问题与故障排除在实际操作中你可能会遇到以下问题这里是我的排查心得报错sqlite3.OperationalError: database is locked原因Chrome浏览器没有完全关闭或者有其他进程如杀毒软件、同步工具正在访问该文件。解决彻底关闭所有Chrome窗口和后台进程。如果使用Chrome的“后台运行”功能需要在设置中关闭。暂时禁用可能扫描该目录的杀毒软件实时防护操作后记得重新开启。最粗暴但有效的方法重启电脑。报错sqlite3.DatabaseError: file is encrypted or is not a database原因你找到的文件可能不是正确的History数据库或者数据库已损坏。也可能是Chrome正在使用新版本的数据格式而你的SQLite库版本较旧。解决再次确认文件路径是否正确特别是History文件没有扩展名。尝试用专业的SQLite数据库浏览器如DB Browser for SQLite直接打开该文件看是否能正常读取。如果打不开可能是文件损坏。确保你的Python环境使用的是较新版本的SQLite驱动。通常Python内置的sqlite3没问题。导出的Excel中时间不对比如显示1970年原因时间戳转换公式错误。最常见的是忘记除以1000000将微秒转换为秒或者加减的偏移量计算有误。解决仔细核对SQL查询语句中的时间转换部分datetime((visits.visit_time / 1000000) - 11644473600, unixepoch, localtime)。确保除法和减法运算顺序正确。导出的数据量很少或者缺少近期记录原因SQL查询中使用了LIMIT限制了条数。Chrome可能将近期历史记录缓存于内存或另一个临时文件中如History Journal关闭浏览器一段时间后才会完全写入History主文件。查询条件过滤掉了太多数据比如严格限制了title不为空。解决检查并修改/删除LIMIT子句。确保Chrome已关闭足够长时间几分钟。放宽查询条件例如将WHERE urls.title IS NOT NULL AND urls.title ! 改为WHERE urls.url IS NOT NULL。脚本在macOS/Linux上提示“Permission denied”原因当前用户没有读取History文件的权限。该文件通常权限设置较严格。解决这是一个棘手的权限问题。直接修改文件权限chmod可能不安全。更推荐的方法是确保脚本由你本人文件所有者执行。如果不行可以尝试将数据库文件复制到一个临时位置需要有读取源目录的权限然后从临时副本中读取。复制操作本身可能需要终端权限sudo cp但这需要谨慎操作。这个项目从想法到实现最深的体会就是“细节决定成败”。时间戳的转换、数据库的只读连接、不同操作系统的路径差异每一个小点卡住都可能让新手抓狂。但一旦打通你会发现Python处理这类本地化、结构化的数据非常高效和灵活。我后来基于这个脚本还做了定期自动备份历史记录到不同Excel文件、统计每周最常访问网站的小工具实用性大大增加。如果你在复现过程中遇到其他问题不妨从错误信息出发先检查Chrome是否关闭再检查文件路径和权限最后核对SQL语句和转换逻辑一步步来总能解决。

相关新闻

多场耦合优化技术:原理、工具与应用实践

多场耦合优化技术:原理、工具与应用实践

1. 多场耦合优化技术概述多场耦合优化(Multi-physics Optimization)是当前工程仿真领域的前沿方向,它突破了传统单物理场分析的局限性,实现了热-力-电-磁-流等多物理场的协同仿真与联合优化。我在航空航天和汽车行业的十年项目实践…

2026/8/7 7:26:17 阅读更多 →
Agent 工具调用测试实践:工具契约、路由决策、执行轨迹与异常处理

Agent 工具调用测试实践:工具契约、路由决策、执行轨迹与异常处理

前一阶段,我完成了一个可测试的 LLMClient:能调用 DeepSeek,也能通过 Fake Model 做不访问网络的单元测试。 但做到这里,它仍然只是一个聊天程序,还不能算真正的 Agent。 普通聊天的链路很短: 用户问题 → …

2026/8/7 7:26:17 阅读更多 →
2026最新3款语音转文字软件测评 | 口碑筛选后的实用选择建议

2026最新3款语音转文字软件测评 | 口碑筛选后的实用选择建议

这篇测评整理了2026年口碑靠前的3款语音转文字工具,针对销售客服常用的客户拜访、销售对话、产品培训场景做了适配分析,结论如下:通义听悟适合日常公开内容转写,AssemblyAI适合海外多语言对话转写,听脑AI更适配销售对话…

2026/8/7 7:26:17 阅读更多 →

最新新闻

TVA-VLA架构:具身智能规模化落地关键支撑(5)

TVA-VLA架构:具身智能规模化落地关键支撑(5)

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“TVA视觉智能体”或“AI智能体视觉”)是依托Transformer架构与“因式智能体”理论构建的通用视觉技术框架。它深度融合深度强化学习(DRL)、卷积…

2026/8/7 7:59:35 阅读更多 →
3分钟掌握终极macOS窗口置顶工具,让你的多任务效率提升300%!

3分钟掌握终极macOS窗口置顶工具,让你的多任务效率提升300%!

3分钟掌握终极macOS窗口置顶工具,让你的多任务效率提升300%! 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 还在为macOS上多个窗口互相…

2026/8/7 7:59:35 阅读更多 →
3.2x 计费系数值不值?Cantus 在真实项目中的 ROI 量化实录

3.2x 计费系数值不值?Cantus 在真实项目中的 ROI 量化实录

3.2x 计费系数值不值?Cantus 在真实项目中的 ROI 量化实录摘要:Qoder Cantus 模型的 Credits 消耗系数为 3.2x,显著高于同平台标准模型。这笔溢价是否合理?本文摒弃主观体验,设计了一套“时间-成本”ROI 测算模型&…

2026/8/7 7:59:35 阅读更多 →
尚硅谷四轴无人机

尚硅谷四轴无人机

四轴无人机四轴无人机简介一、需求说明二、飞行器组成1、飞机部分三、 遥控器部分需求实现思路PID控制算法四轴无人机简介 一、需求说明 1、保持飞行姿态稳定 2、遥控前后左右移动 3、实现定高飞行 二、飞行器组成 1、飞机部分 ①机架采用“X”型飞的更稳 ②动力系统为空心…

2026/8/7 7:59:35 阅读更多 →
从插件到权限系统:AI Agent工具使用的安全管控设计

从插件到权限系统:AI Agent工具使用的安全管控设计

1. 从“插件”到“权限”:一个被误解的核心概念最近和几个做AI应用的朋友聊天,发现一个挺有意思的现象。大家一提到让大模型使用外部工具,比如调用API、查询数据库或者操作文件,第一反应往往是:“哦,就是给…

2026/8/7 7:59:35 阅读更多 →
STranslate:Windows 平台的多引擎划词翻译与 OCR 识别工具

STranslate:Windows 平台的多引擎划词翻译与 OCR 识别工具

STranslate:Windows 平台的多引擎划词翻译与 OCR 识别工具一款专为 Windows 用户设计的开源划词翻译和 OCR 识别工具,支持多种翻译引擎切换,绿色便携无需安装。📖 背景说明 STranslate 是一款面向 Windows 平台的划词翻译与 OCR 文…

2026/8/7 7:58:35 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →