把页面上的链接整批复制成 Markdown、HTML 或 JSON Lines(2026)
在网页上选中文字很容易,把里面的链接拿出来却不容易。把一段话拖进文档,所有链接都变成蓝色下划线文字,指向的地址被剥掉了。手工去复制,你得一个链接一个链接地点。
这篇讲的是「链接在页面上」和「链接已经在剪贴板里、而且是下一个工具要的格式」之间的那段距离。VKT LinkHarvest v1.3.1 就是为这段距离做的:扫出页面里所有 <a>,持续监听后加载的链接,让你把列表筛窄,再按纯 URL、Markdown、HTML 或 JSON Lines 复制走。下面讲四种格式各自用在哪、完整流程,以及什么时候该导出文件而不是复制。
真正的问题:标题和链接一样重要
一串光秃秃的 https 地址在信息上是完整的,在实用上几乎是废的。收到的人分不清哪一行是价格页、哪一行是更新日志,也看不出两条其实是同一篇文章、只是锚文本不同。
- 写文档或 README —— 读者点之前得先知道这个链接通向哪。
- 整理选题清单 —— 八十个候选靠标题筛到十二个,标题就是全部界面。
- 给团队发参考列表 —— 一条塞了三十个裸链接的消息,只会被扫一眼然后忘掉。
手工做,每个链接是一套四步循环:右键、复制链接地址、切窗口、粘贴、再切回去看标题、敲进去。四十个链接就是一刻钟,还带着稳定的出错率。
另一个偷懒办法是全选粘进文本编辑器,结果把导航、Cookie 横幅、页脚全带进来;在 JavaScript 渲染的页面上,往往只拿到链接文字,一个地址都没有。
四种复制格式,四种用途
结果页的格式下拉里有四项,没有一项收费,切换只是重新渲染已经扫好的结果,不会重扫。
| 格式 | 复制出来是什么 | 用在哪 |
|---|---|---|
| URL | 每行一个纯链接 | 脚本、爬虫、批量粘进死链检查工具 |
| Markdown | 用锚文本做标题的链接列表 | 笔记、README、Issue、Wiki |
| HTML | <a href="..."> 元素 | 邮件、CMS 富文本、newsletter |
| JSON Lines | 每行一个 JSON 对象 | 程序、表格导入、内部小工具 |
选哪个由下游决定,不由喜好决定:下一步是脚本就用 URL,下一步是人读就用 Markdown,下游是会把 Markdown 吃掉的富文本框就用 HTML,下游按行解析就用 JSON Lines。
有个细节值得知道:Markdown 和 HTML 会把锚文本保留成标题。这恰好是普通复制会毁掉的那部分,也是「有人会读完的列表」和「被关掉的列表」的区别。
完整流程,六步
- 打开页面,点工具栏图标;或者直接在页面右键选「提取页面链接」,不弹窗也能扫。
- 页面里每个
<a>都会被收进来。之后 MutationObserver 继续监听,SPA 路由切换、无限滚动加载下一批、懒加载的标签页,新出现的链接会实时进入列表。 - 筛选:关键词包含或排除、站内或站外、真锚点与
javascript:伪链接。每个 URL 还带出现次数,导航和页脚里重复的链接只占一行,不会变成六行等你手动去重。 - 如果这套筛选以后还会用,存成一条有名字的预设。
- 选复制格式。
- 复制筛选结果;或者勾选若干行,在后台标签页里依次打开。
扫描结果只存在内存里,关掉页面就没了:不落盘,也不往外发。
筛选预设:配一次,之后一直用
筛选大多是重复劳动。比如给文档站用的一套:排除 /tag/ 和 /author/,只看站内,去掉锚点,去掉 javascript: 链接。四个控件,每换一页都要重配一遍。
预设把这套组合存成一个名字。下次扫描完选中预设,列表已经筛好了。它存的是筛选状态而不是结果,所以对一个从没扫过的页面同样有效。
两点实话。预设存在这台机器的本地 localStorage 里,换电脑不会跟着走,清掉扩展的站点数据也就没了;另外预设只是把当前列表筛窄,它不会替你去爬新 URL。
后台批量打开:间隔那几档在调什么
勾几行,或者直接用当前筛选结果,LinkHarvest 会在后台标签页里一条条打开。间隔下拉是 0 / 300(默认)/ 800 / 1500 毫秒。
- 0 毫秒 —— 一次性全开。三四个链接无所谓,四十个就是让标签页抢同一条连接。
- 300 毫秒 —— 默认值。队列走得快,浏览器也不会卡。
- 800 毫秒 —— 页面重、有视频,或者机器上已经开了十几个标签页。
- 1500 毫秒 —— 目标站有并发限制、并发请求会把你踢下线的时候用它。
间隔不只是照顾自己的浏览器。同一台主机上二十个并发请求,在不少服务器看来就是爬虫;失败的样子往往不是一条干净的报错,而是一个空白页或者登录界面。
什么时候该导出文件
剪贴板是给接下来三十秒用的,文件是给下周用的。导出有三种。
- TXT —— 每行一个链接,免费。喂给死链检查工具或批量导入器最合适。
- JSON —— 结构化输出,免费。给想要字段而不是一坨文本的脚本用。
- CSV —— 免费,和其他导出一样。UTF-8 带 BOM,这个细节让 Excel 和 WPS 打开带重音、带中日文的标题时不乱码。
哪些收费、哪些不收费。 扫描、筛选、搜索、四种格式复制、TXT 与 JSON 导出、批量开标签页,全部免费,不需要账号,不需要许可证。付费的是链接体检——每轮免费 100 条,授权版最多 2,000 条(一次性 US$9.99 买断,或订阅方案每月 US$2.99)。 Chrome 应用商店 · Edge 加载项。
没有链接上限,没有试用倒计时,也没有登录墙:免费版就是能干活的版本,不是演示。
那为什么不用在线链接提取工具?
粘一个 URL 就能用的在线服务很方便,直到页面不是公开的。它们的做法是让自己的服务器去抓,于是三个限制同时出现:
- 服务器得够得着那个页面。内网、带 basic auth 的预发环境、你登录着的后台,都够不着。
- 页面内容交给了第三方。对客户门户或内部 wiki 来说,这是合规问题,不是偏好问题。
- 多数在线工具不执行 JavaScript,SPA 抓回来是个空壳。
扩展读的是你当前这个标签页的 DOM,权限只有 activeTab、scripting、storage 和右键菜单。中间没有服务器:结果只在内存里,关掉页面就清空;只有筛选预设和界面偏好留在本机 localStorage,从不上传。
常见问题
复制链接要付费吗?
不要。URL、Markdown、HTML、JSON Lines 四种格式全部免费,不需要账号,也不需要许可证。CSV 导出同样免费。付费的是链接体检:每轮免费 100 条,授权版最多 2,000 条。
能复制成带标题的 Markdown 链接吗?
能。Markdown 格式输出的就是链接列表,用每个锚点的可见文字当标题,拿到的是可读的条目,而不是一串裸 URL。
页面滚动后才加载的链接能抓到吗?
能。初次扫描之后 MutationObserver 会继续监听,无限滚动、切换标签、SPA 路由变化新增的链接会实时追加到列表里。
批量打开几十个标签页会不会把浏览器卡死?
调间隔。默认 300 毫秒,页面重就用 800 毫秒,目标站限制并发就用 1500 毫秒。0 毫秒只适合少量链接。
现在付费的是什么功能?
付费的是链接体检——检测链接的 HTTP 状态。每轮免费 100 条,授权版提升到 2,000 条,并支持分批继续与导出体检 CSV 报告(状态码、跳转目标、响应时间)。CSV 导出本身保持免费:UTF-8 带 BOM,Excel 和 WPS 打开中日文标题不乱码。
扫描结果会上传吗?
不会。扫描在本机完成,结果只存在内存里,关掉页面即清空。只有筛选预设和界面偏好会保留在本机 localStorage。
在 VKT 扩展目录探索更多工具,或通过 [email protected] 联系我们。
