可完整导出Safari全部浏览历史:一、共享菜单导出近期历史为txt;二、直接提取~/Library/Safari/History.db数据库并导出CSV;三、iCloud网页版+控制台抓取30天JSON;四、终端sqlite3命令行导出CSV。

如果您希望将 Safari 浏览器中积累的全部浏览历史记录完整保留为本地文件,以便归档、迁移或审计用途,则需借助系统级导出机制。Safari 本身不提供直接“导出历史为 CSV 或 HTML”的内置按钮,但可通过多种路径实现足迹数据的本地化提取与保存。以下是可行的操作方法:
一、通过 macOS 系统共享功能导出可见历史(仅限近期)
该方法利用 Safari 的“共享”菜单调用系统服务,将当前打开的历史视图内容以纯文本形式复制或保存,适用于快速提取近期高频访问条目,但无法覆盖完整数据库中的全部历史记录。
1、在 Mac 上打开 Safari 浏览器,点击菜单栏中的历史→显示全部历史。
2、在历史窗口中,按 Command + A 全选所有条目。
3、右键选择共享→邮件或备忘录,或直接按 Command + C 复制。
4、将复制内容粘贴至 TextEdit(确保处于纯文本模式)或 Pages 文档,再使用文件→导出为→纯文本(.txt)保存到指定位置。
二、从 Safari 历史数据库文件直接提取(含全部历史,Mac 专用)
该方法访问 Safari 后台存储的 SQLite 数据库,可读取自首次启用以来的所有历史条目(时间戳、URL、标题、访问次数等字段),是真正实现“全部历史”本地化保存的技术路径。
1、退出 Safari 浏览器,确保其进程已完全终止。
2、在 Finder 中按下 Shift + Command + G,输入路径:~/Library/Safari/History.db,定位并拷贝该文件到桌面备用。
3、使用支持 SQLite 的工具(如 DB Browser for SQLite)打开 History.db 文件。
4、在左侧表列表中双击 history_items 表,点击上方浏览数据标签页。
5、点击菜单栏文件→导出→表为 CSV 文件,选择保存位置并确认导出。
三、利用 iCloud 网页版配合开发者控制台抓取 JSON(限最近 30 天)
该方法借助 iCloud 网页端同步的历史快照,通过浏览器开发者工具提取结构化 JSON 数据,适用于无需本地数据库操作但需轻量级导出的场景,但仅包含 iCloud 同步周期内(通常为 30 天)的历史条目。
1、在任意浏览器中访问 https://www.icloud.com/safari,使用与 Safari 设备相同的 Apple ID 登录。
2、等待页面加载完成,按 Option + Command + I 打开开发者工具,切换到控制台(Console)标签页。
3、粘贴并执行以下脚本:JSON.stringify(window.safariHistoryData, null, 2)(若变量名不同,请先执行 Object.keys(window) 查找对应历史数据对象)。
4、右键控制台中输出的 JSON 内容,选择“复制对象”,粘贴至文本编辑器中,另存为 safari_history.json。
四、终端运行 sqlite3 命令行脚本导出 CSV(需关闭 Safari)
该方法绕过图形化工具,直接在终端中调用系统内置的 sqlite3 工具解析 History.db,生成标准 CSV 文件,适合批量处理或集成进自动化备份流程,且无需额外安装软件。
1、退出 Safari 浏览器,确保其进程已完全终止。
2、打开终端应用,输入以下命令并回车:sqlite3 ~/Library/Safari/History.db "SELECT datetime(last_visit_date/1000000-978307200,'unixepoch'),url,title,visit_count FROM history_items ORDER BY last_visit_date DESC;" > ~/Desktop/Safari_History_Full.csv。
3、检查桌面生成的 Safari_History_Full.csv 文件是否包含有效字段(时间、URL、标题、访问次数)。
4、如遇权限错误,可在命令前添加 sudo 并输入管理员密码,或先将 History.db 拷贝至非受保护目录后再执行导出。


















