跳到主要内容

从 Markdown 提取所有链接的完整做法:Markdown 链接提取实战

讲清楚怎么从一篇 Markdown 里取出全部链接,包含行内链接、引用式链接和图片链接,顺手做去重、外链清单和死链排查前的准备工作,附真实输入输出例子。

发布于 作者 李雷
#markdown #链接提取 #文档审计 #SEO

从 Markdown 提取所有链接的完整做法

写完一篇长文档,你很难一眼数清里面到底引用了多少链接。我自己整理一份两千字的迁移说明时,翻到底发现有三十多个 URL 散落在正文、脚注和图片里,光靠肉眼挑根本理不清。把这些链接集中取出来,做成一张表,后面查死链、换域名、盘点素材才有起点。这篇就讲清楚 Markdown 里链接的几种写法,以及怎么一次性全部提取出来。

Markdown 里链接到底有几种写法

Markdown 的链接不只一种语法,这也是手动数容易漏的原因。常见的有四类:

  • 行内链接:[文字](url),文字和地址写在一起,最直接。
  • 引用式链接:[文字][标记],地址定义放在文档别处,写成 [标记]: url
  • 图片链接:![alt](url),前面多一个感叹号,指向图片资源。
  • 裸 URL:正文里直接写出的 https://...,没有任何包裹。

后三类最容易在统计时被遗漏。引用式链接的地址定义常常出现在文章末尾,离引用位置很远;图片链接因为多了感叹号,如果用简单正则只匹配 [文字](url) 就会把它漏掉或误判。

一个具体的提取例子

[文字](url) 这种行内语法来说,提取要做的就是从方括号后紧跟的圆括号里取出 url 部分,同时把方括号里的 文字 单独留作链接文本。下面是一段真实输入:

查看 [官方文档](https://toolora.info/docs) 了解更多。
封面见 ![示意图](https://cdn.example.com/cover.png)。
详情参考 [发布说明][rel]。

[rel]: https://toolora.info/release/2026

提取后得到的链接清单大致如下:

| 类型 | 文本 | URL | 行号 | | --- | --- | --- | --- | | 行内链接 | 官方文档 | https://toolora.info/docs | 1 | | 图片 | 示意图 | https://cdn.example.com/cover.png | 2 | | 引用式链接 | 发布说明 | https://toolora.info/release/2026 | 3 |

注意第三行,引用标记 [rel] 在第 3 行,真正的地址定义却在第 5 行。一张正确的清单要把这两处对应起来,把最终 URL 填回引用位置,而不是只记下一个 rel 标记。行号保留下来也很关键,等你要回正文修改时,直接定位到对应行就行。

整理外链清单与查死链的准备

把链接全部取出后,最常见的两个用途是盘点外链和排查死链。

盘点外链时,你能立刻看清这篇文档引用了哪些站点,有没有指向已经废弃的旧域名,内链和外链各占多少。迁移博客时这一步尤其重要,换域名前先把所有指向旧地址的链接列出来,逐条替换才不会漏。

查死链则要分两步走。提取本身只在本地完成,不会发任何网络请求,所以它不负责判断链接是否还能打开。它的产出是一份干净的 URL 清单,你拿这份清单再交给爬虫或链接检查流程去逐个访问,才能知道哪些已经 404。先提取、再校验,这个顺序比一上来就盲扫整篇文档要清楚得多。

去重与图片链接的细节

一篇文档里同一个 URL 出现很多次很正常,比如导航或页脚反复引用同一个页面。做清单时去重能让你专注在不同的目标地址上,而不是被重复项淹没。去重通常按 URL 本身来判定,文本不同但地址相同的多条,可以合并成一条。

图片链接值得单独拎出来看。![alt](url) 里的 alt 文本既是无障碍说明,也是排查素材时的线索。盘点图片引用时,把 alt 文本和图片 URL 一起导出,你能快速看出哪些图缺了说明、哪些指向了外部 CDN、哪些素材应该一起迁走。

用工具一次跑完

上面这些手动做会很碎。我直接用 Markdown 链接提取器 把 .md 文件丢进去,它会把行内链接、引用式链接、图片和裸 URL 全部提取成 CSV,带上链接类型、文本、URL 和行号,整个过程在浏览器本地完成,文件不上传。导出的 CSV 还能继续处理,比如用 CSV 列提取 单独取出 URL 那一列,交给后续的死链检查流程。

链接散在长文档里很难管,先把它们集中成一张可排序、可去重的清单,后面无论是迁移、改域名还是做 SEO 复核,都有了一个可靠的起点。


Made by Toolora · Updated 2026-06-13