推荐用python脚本生成带缩进的纯文本:退出safari后运行终端命令,自动解析bookmarks.plist,输出含文件夹标识、标题、url的缩进清单至桌面safari-bookmarks.txt。

你需要把Safari浏览器里收藏夹中的网址、标题、文件夹层级等信息,以纯文本形式保存到记事本(即TextEdit)中,方便快速查阅或手动整理——这不能靠Safari原生“导出书签”功能直接实现,因为该功能只生成HTML文件,不是纯文本。
用Safari原生导出→转为纯文本
第一步:打开Safari,点击顶部菜单栏【文件】→【导出书签…】。
第二步:在弹出窗口中将文件保存为“Safari 书签.html”,位置选桌面,点击【存储】。
第三步:双击打开这个HTML文件,用Safari或Chrome浏览它——你会看到带缩进的树状结构,但这是网页渲染结果,不能直接复制全部层级。
第四步:回到桌面,右键点击该HTML文件→【显示简介】→勾选【隐藏扩展名】(若已勾选则跳过),然后将文件后缀从“.html”改为“.txt”。系统会提示“更改扩展名可能使文件不可用”,点【继续】。
第五步:用TextEdit打开这个.txt文件。此时你能看到大量HTML标签(如
规划您的迪拜之旅 — 哈利法塔观景、沙漠探险、迪拜购物中心购物、棕榈岛度假村及黄金市场砍价。还提供支持...
、),但所有网址和标题都真实存在其中。按Command+F搜索“用终端提取纯URL列表(无标题/无结构)
方法一:快速提取全部网址(不含文件夹名、标题、顺序)
打开终端,输入以下命令并回车:
plutil -convert xml1 ~/Library/Safari/Bookmarks.plist -o /dev/stdout | grep -o 'http[^"]*'
这条命令会实时输出所有已保存书签的URL,每行一个。全选→复制→在TextEdit中新建文档→粘贴即可。
注意:此方法【不保留书签标题、不反映文件夹层级、不包含未同步到本地的iCloud新书签】,仅适用于只想批量获取链接的场景。
用Python脚本生成带缩进的纯文本(推荐给有基础用户)
如果你希望文本里体现“文件夹→子文件夹→书签”的缩进关系,并保留标题和URL,可以运行一段轻量脚本:
第一步:确保已安装Python(macOS 12+默认自带Python 3.8+)。
第二步:打开终端,粘贴并执行:
python3 -c "import plistlib,sys; b=plistlib.load(open('~/Library/Safari/Bookmarks.plist','rb')); def f(n,i=0): [print(' '*i + '- ' + x['Title'] + ' → ' + x['URLString']) if 'URLString' in x else (print(' '*i + '? ' + x['Title']), [f(c,i+1) for c in x.get('Children',[])]) for x in n.get('Children',[])]; f(b)" > ~/Desktop/safari-bookmarks.txt
第三步:前往桌面,双击打开safari-bookmarks.txt,就能看到带缩进的纯文本清单,含文件夹标识(?)、标题、箭头分隔的URL。
这一步依赖Bookmarks.plist文件实时有效——如果Safari正在运行,需先退出再执行,否则可能读取缓存旧数据。
打开终端,输入以下命令并回车:
plutil -convert xml1 ~/Library/Safari/Bookmarks.plist -o /dev/stdout | grep -o 'http[^"]*'这条命令会实时输出所有已保存书签的URL,每行一个。全选→复制→在TextEdit中新建文档→粘贴即可。
注意:此方法【不保留书签标题、不反映文件夹层级、不包含未同步到本地的iCloud新书签】,仅适用于只想批量获取链接的场景。
第一步:确保已安装Python(macOS 12+默认自带Python 3.8+)。
第二步:打开终端,粘贴并执行:
python3 -c "import plistlib,sys; b=plistlib.load(open('~/Library/Safari/Bookmarks.plist','rb')); def f(n,i=0): [print(' '*i + '- ' + x['Title'] + ' → ' + x['URLString']) if 'URLString' in x else (print(' '*i + '? ' + x['Title']), [f(c,i+1) for c in x.get('Children',[])]) for x in n.get('Children',[])]; f(b)" > ~/Desktop/safari-bookmarks.txt第三步:前往桌面,双击打开safari-bookmarks.txt,就能看到带缩进的纯文本清单,含文件夹标识(?)、标题、箭头分隔的URL。
这一步依赖Bookmarks.plist文件实时有效——如果Safari正在运行,需先退出再执行,否则可能读取缓存旧数据。










