# 用 Shortcuts 导出 Safari 网页

> 本文公开全文。

原文：https://utgd.net/article/8465

导出 Safari 网页——无论书签、阅读列表还是当前打开的标签页——算得上一个古老的话题。整理书签，可顺手导出一份 Markdown 文档当备份；开了一堆标签页没读完，可导出待读清单，放诸备忘录；朋友问一个技术问题，可甩他一串参考网页，令其自助解决……然而，Safari 导出方式的阙如，和需求的存在一样古老。

早在四年前，我就在两篇文章中介绍过一些思路，可惜数据来源是系统文件，需要使用 Python 脚本才能解析，算不上多么方便（你可以在 这里 下载到“Export Safari”开头的几个自动化动作）；几年后，MacStories 写了 一个基于 Shortcuts 的方案，结果和我的一样依赖系统文件，只是解析工具换成了 Shortcuts（快捷指令）。@Platy 君也写过一个基于 Safari 标签组的方案，比与系统文件鏖战好一点，但限制重重，还得先用标签组不可——起码我是不用这玩意儿的。

简单说，MacStories 的方法跨 iOS（包括 iPadOS）和 macOS 两大平台，而我的旧方案限于 macOS，但我们都支持书签、标签页和阅读列表，功能齐全；而围绕 Safari 标签页的路子，虽然不限于某个平台，却只能导出眼前的标签页，力道不足。惟本文的方案可贯通 Apple 的各个平台，通吃书签、标签页和阅读列表三大数据来源，同时原理简单鲁棒、导出方式多变，颇具自定义空间。

## 导出书签、标签页或阅读列表

在 2022 年秋季的 Shortcuts 以前，iOS 上鲜有获取 Safari 数据的途径，而 macOS 也需要对付系统文件，并且还是一场车轮赛，需逐个解决书签、标签页和阅读列表，完全是一场苦差事。不过，书签、标签页或阅读列表，以后都可以在 Shortcuts 中统一处理，此事新加入的“查找”相关模块居功厥伟。以下凡例从简，以导出 Safari 数据为 Markdown 格式为例，输出的数据直接拷贝到剪贴板。

- Shortcuts 动作下载：导出书签为 Markdown

- Shortcuts 动作下载：导出标签页为 Markdown

- Shortcuts 动作下载：导出阅读列表为 Markdown

- GitHub

三个动作，除去数据来源，其他均一致，熟悉 Shortcuts 菜单模块的读者也可以将三者做到一个动作里面。以导出当前打开的标签页作为切入：

- 直接运行 Shortcuts动作，选择需要的标签页——默认是选中全部网页，免得逐个点选。

- 如标签页数量较多，也可以在运行后输入关键词，做一道过滤。查资料时常常打开一场串的标签页，其中可能只有几个确有必要导出，则可以一开始就用关键词将其滤出。

- 稍等一两秒，Shortcuts 会将选中的网页转换为 Markdown 格式，即 \[标题\]\(链接\) 形式，并送到剪贴板。

动作所涉步骤如下，不过是查找数据、手动选择与整理输出。下图动作最后导出的是 Markdown 格式，如果你需要更简单的纯文本，可将图中的 \- \[标题\]\(URL\) 改为 \- 标题 URL，即删去两对括号。

比起用到的 Shortcuts 模块本身，可能两个元认知（metacognition）更重要：第一，要有过滤思维，即通过一系列预设条件获取数据，而不是守株待兔，等着别人做好现成动作；第二，则是要关注新版本 Shortcuts 中的模块，其自身也许不起眼，但很可能成为更大拼图的一部分。

其实还有第三，那就是理解现成动作的边界何在，我就一直对以前的书签导出动作耿耿于怀，不满意其数据来源；唯有如此，在 Shortcuts 支持获取 Safari 数据后，一个探索在前缘的玩家才能就意识到——东风已至，万事俱备。

## 导出标签页到阅读列表

一旦理解了查找数据的模块，之后的事情不过就是修正数据格式，然后导入各种软件。直接拷贝到剪贴板系最简单的处置方式，此外还可以追加待读文章到备忘录、Obsidian 或 Logseq，或者通过 API 连通 Notion（只是举例，这些软件我几乎都不用，恕不能效劳）。除了将网页数据导出，其实也可以在 Safari 内部自产自销，比如把当前打开的标签页添加到阅读列表，留待稍后阅读。

\>\> Shortcuts 动作下载：将标签页添加到阅读列表 \<\<

这个 Shortcuts 纯属帮 iOS 版 Safari 修桥补路。不少人把阅读列表作为文章暂存区，按理说，一时半会儿读不完的网页，确实应当添加到阅读列表才是。桌面端的 Safari 就提供了批量保存选项，但在 iOS 上却只能把标签页保存为书签，而不是添加到阅读列表。

用 Shortcuts 将标签页导入阅读列表的步骤相对简单，一开始也是用查找模块获取标签页，然后从中选取想稍后阅读的——难免打开得太多，要挑挑拣拣一番——加入阅读列表。在添加阅读列表项目时，Safari（或 Shortcuts）似乎会尝试缓存网页数据，每个页面都需要几秒钟时间，这点与提取 Markdown 格式的网页链接不同。

当然，你可能有自己稍后读工具，或者更喜欢导出待读文章到备忘录或任务清单，这些都无妨本节动作充当一个示例，展示 iOS 16 中的 Shortcuts 如何与 Safari 交互。文章能直接为你充饥解渴当然很要紧，但钓鱼的工具，恐怕更重要。

## 小结

自 Workflow 被收购并更名 Shortcuts 以降，便不再推出强大的模块，诸如正则表达式、网页调试、SSH 等大名鼎鼎的工具，也均为上个世代的遗物。不过，这不意味着 Shortcuts 再无新意；在最近一版系统（iOS 16）中，新增的一系列查找模块打通了 Shortcuts 和系统软件之间的桥梁。Shortcuts 玩家不仅可以获取系统软件的数据，更可以添加过滤智能条件，macOS 上的骄傲——智能文件夹——被广泛运用于文件、照片、备忘录、提醒事项以及 Safari 浏览器，等等。

Workflow 和 Shortcuts 过去的战场其实在于数据处理，不过经过几年的强度关山，相关问题几乎已经被玩家们消灭殆尽；现在的问题，其实在于数据的输入输出，即如何获取更多的系统软件数据，以及和更多的第三方软件连通。

---

[前往标准阅读页](https://utgd.net/article/8465?audience=web)
