提取链接

提取链接,是指从一段文字里提取所有网址,把 Markdown 或网页源码里的链接一次全抓出来,并顺手去重、按域名筛选。中文正文里 https://a.com/x。 结尾的句号、(链接)外的全角括号会自动剥掉,维基那种自带括号的网址不剥坏;不带 http 的 www.a.com 也认,共 13 种链接类型、9 种抽取来源。在小鹿tools,在线提取链接在浏览器本地完成、文本不上传,也不访问这些链接。

拖入 .txt / .html / .md 文件,点击选择
文本不上传 · 浏览器本地提取 · 也不会去访问这些链接 · 单文件 ≤ 10 MB

粘进来就能用:中文句号、全角括号会自动剥掉,www.a.com 这类裸域名也认。原文一个字都不会被改动,本工具也不会去访问这些链接。

一键预设
抽取模式(自动判定的结果会显示出来,判错了可以一键改)
要提取哪些链接类型(真实文本里的链接远不止 https://)

⚠️ 开启后不带 http 的 example.com 也会被当成网址;main.js、v1.2.3、README.md 这类不会

哪些位置的链接不提

这一项不会被记住——它可能是内网地址,本地只保存勾选偏好。

整理(提取之后 90% 的人还要做的事)
只要这些文件类型:
链接清洗(每一处改写都会在清单里逐条列出来,随时能切回原样)

🔒 扫描、去重与统计全部在你的浏览器本地用 JS 完成,文本不上传任何服务器,关闭页面即清除;本地只 记住你的勾选偏好,不保存文本内容,也不保存「网站地址」。本工具只读不改原文: 上面输入框里的文字一个字都不会被改动,结果是新产生的一份链接清单。本工具也不会去访问提取出来的链接——不检测死链、不抓网页标题、不加载预览图, 所以你的私有链接不会泄露给任何一方。清单里的「网址」列显示的是解码后的可读值,复制与下载拿到的 始终是可直接使用的原样链接。

如何使用提取链接

1

粘贴文字,或拖入 .txt / .md / .html / .htm / .csv / .log / .json / .srt / .xml 等纯文本文件(单文件 10 MB 以内,按 UTF-8 读取)。想提取整个网页里的链接,就在浏览器里按 Ctrl+U 打开网页源代码、全选复制再粘进来,模式会自动切到「HTML 源码」并显示判定结果,判错了可以一键改。

2

选一个预设(提取全部链接 / 只要网址 / 只要域名清单 / 提图片链接 / 清洗链接 / 导出 Markdown 链接 / 只要外链),或者手动勾选 13 种链接类型与 9 种抽取来源。要把 /a/b.html 这类相对链接补成完整网址、或者分内链外链,就在「网站地址」里填上这个页面的地址。

3

看统计条与统计卡(总数、去重后、域名数、https 与 http 明文、图片 / 文档 / 音视频链接、mailto 与 tel),再按需要切换 9 种输出格式:每行一个、只要域名、自定义分隔符、Markdown 列表、HTML 超链接、按域名分组、七列 TSV、七列 CSV、JSON 数组,然后复制或下载(下载默认带 UTF-8 BOM)。对结果有疑问就看「没提出来的位置」表,每一处都写清了原因。

关于提取链接的常见问题

提取链接会不会上传文字和访问链接
都不会。扫描、剥离、去重与统计全部在你的浏览器里用 JavaScript 完成,文本不发送到任何服务器,关闭页面即清除;本地只记住你勾了哪些类型这类参数偏好,不保存文本内容,连你填的「网站地址」都不记(它可能是内网地址)。更重要的是,本工具不会去访问提取出来的任何一条链接:不检测死链、不抓网页标题、不展开短链、不加载预览图,所以你的私有链接不会因为用了这个页面而泄露给任何一方。本工具还是只读的,输入框里的原文一个字都不会被改动。
提取链接末尾多了个句号怎么办
复制的网址带了括号打不开、末尾多个句号点开就是 404,这两件事本工具已经处理好了,不用你手动删。中文正文里 https://a.com/x。 结尾的句号、(https://a.com)外面那对全角括号、【链接】的方括号、结尾的引号和逗号都会被自动剥掉,而且是循环剥的,「)。」这种连着两个也能一次剥干净。同时维基百科那种链接本身带括号的 .../wiki/Foo_(bar) 会完整保留,判断依据是括号在候选串里配不配平:右括号比左括号多才剥。每条被剥掉了什么字符,清单里都挂着「已剥尾」角标,鼠标悬停就能看到原样,不会偷偷改坏你的链接。
网页源码提取链接怎么提取全部 URL
本页不能直接输入网址去抓网页——纯前端加上浏览器的跨域限制根本做不到,而且那等于代你去访问别人的站点。要提取网页里的所有 url,正确做法是:在浏览器里按 Ctrl+U(或右键「查看网页源代码」),全选复制,粘进本页。模式会自动切到「HTML 源码」,<a href>、<img src>、srcset 多倍图、CSS 的 url() 与 @import、form action、video poster 里的链接都会被提出来,锚文本也一并抓取。html 提取所有链接时这 8 种来源默认全勾着,只有 meta 标签里的 og:image、canonical 因为模板噪音太多默认关闭。想只要图片就点「提图片链接」预设,想只要站外链接就填上网站地址后点「只要外链」。
公众号文章提取链接怎么批量提出来
整段复制粘进来就行,不用一条条点开复制,几十条也是一次批量提取链接。微信正文里的链接几乎都带着中文标点,详情见 https://a.com/x。 结尾的句号、(https://a.com)外面那对全角括号都会被剥掉;公众号里常见的 mp.weixin.qq.com/s/xxxx 短文链、群聊里别人手打的 www.a.com 这类不带 http 的写法也认得,聊天记录批量提取网址走的也是这条路径。同一条链接在一篇文章里出现三五次很常见,结果默认已经按归一化后的网址去重,并标出每条出现了几次。想把分享链接后面那串 ?share_source=…&share_token=… 剪掉再转发,点「清洗链接」预设即可。整个过程在手机或电脑的浏览器本地完成,聊天记录不会上传。
Word 里的链接怎么批量提取出来
本页不解析 .docx 二进制文件,直接把 Word 文件拖进来是读不出内容的。可行的路径有两条:一是先用 Word 转 HTML 把文档转成 HTML,再把 HTML 粘进本页,模式会自动切到「HTML 源码」,所有 a 标签的 href 与锚文本都会被完整抽出来,还能一起拿到 img 的 src;二是在 Word 里全选正文复制,直接粘进本页的纯文本框——这样能提到正文里写出来的网址,但「点击这里」这种把网址藏在超链接后面、正文只显示文字的情况提不到,必须走转 HTML 那条路。Excel 与 PDF 同理,全选复制正文粘过来即可。
不带 http 的 example.com 能提取链接吗
能。www.a.com、taobao.com/item?id=1 这类裸域名默认识别,并可自动补上 https:// 变成能直接点开的网址,原样值仍然保留在「原文」列里。同时 main.js、README.md、src/index.ts、v1.2.3、3.14 这些不会被误认成网址:判定要求末段是已知域名后缀,而像 .js、.py、.io、.me、.ts 这种既是后缀又常是文件扩展名的,还得带 www. 前缀、后面跟着路径或端口才认。这是刻意的取舍——宁可漏认冷门后缀(你加个 https:// 就行),也不让清单里全是噪音。
提取链接能去掉 utm 这类跟踪参数吗
能。去掉 utm 参数一步到位:点「清洗链接」预设,也可以只打开「去掉跟踪参数」这一个开关。去掉链接跟踪参数不影响页面本身能不能打开,它们只用来告诉网站你从哪来。除了 utm_source、utm_medium、gclid、fbclid、msclkid 这些国际通用参数,还覆盖淘宝的 spm、B 站的 vd_source、小红书与抖音的 share_source 和 share_token 等中文平台专属参数,并且支持 utm_ 这类前缀整族删除。清洗链接参数是提取之后才做的一步:去掉了哪些参数会逐条列出来给你核对,去干净之后也不会留下一个光秃秃的问号。原始链接一直保留着,勾上「输出原样值」随时能切回去。要注意带签名的链接不要开「query 参数按名排序」,排序会让签名失效,页面上也有这条提醒。
提取链接能抓到 srcset 和 CSS 里的图片吗
都能。srcset="a.jpg 1x, b.jpg 2x" 会按逗号拆成两条,并各自标出 1x / 2x / 800w 描述符,而不是只取第一个;CSS 的 url(...)(带不带引号都行)和 @import 也在抽取范围里;href="a?x=1&amp;y=2" 里的 HTML 实体会先解码成 & 再输出,否则你复制走的是一条打不开的链接。九种抽取来源可以单独勾选,其中 <meta> 内容默认关闭,因为模板噪音太多,需要 og:image 或 canonical 时勾上即可。
相对路径提取链接怎么补成完整网址
能。在「网站地址」里填上这个页面的地址(例如 https://example.com/news/),/a/b.html、../x.png、./index.htm 以及 //cdn.a.com/x.js 这类协议相对链接都会被补成绝对网址,清单里会挂上「已改写」角标,悬停就能看到「已用「网站地址」补成绝对网址」。没填的话它们会原样保留,页面会提示「有 N 个相对链接,填写上方「网站地址」后可自动补成完整网址」,不会悄悄丢掉。填了网站地址之后还能按内链、外链筛选,同站判定可以选按主域名(m.a.com 与 a.com 算同站)或按完整域名两档。
提取链接后去重和按域名筛选怎么做
默认就按归一化后的网址去重,并显示每条出现了几次:HTTPS://A.com/ 和 https://a.com 会算作同一条(协议名与域名大小写不敏感),但 http:// 和 https:// 不会合并,因为那确实是两个地址。去重口径还可以改成按原文片段或只按域名。还能按域名包含或排除(支持 *.a.com 通配,通配是含自身的)、按关键词包含或排除、只要图片 / 文档 / 音视频 / 压缩包 / 网页链接、每个域名最多取 N 条;要的是提取域名列表、只要域名不要路径,就点「只要域名清单」预设:按域名去重再按出现次数排序,直接得到一份域名榜。这些整理步骤的施加顺序是固定的:先按类别筛,再按内容筛,然后去重,接着施加每域名上限,最后排序。
提取链接和用正则查找替换有什么区别
用 https?://\S+ 这样的正则五分钟就能写完,但真实文本里处处是坑:句号括号会被吃进去、www.a.com 会整条漏掉、[标题](网址) 的右括号会被吞、HTML 实体没解码、srcset 只取到第一个、data: 内联图片几百 KB 整段灌进结果、javascript:void(0) 混进清单,而且这些错误不会报错,只是悄悄给你一份坏清单。本页把这些判断做成勾选项,并把每一处「为什么没提出来」都列出来。如果你本来就会写正则、要的是完全自定义的抽取规则,用正则测试更合适;要把链接从原文里删掉或替换掉,用批量查找替换——本工具只读不改原文。
提取链接会提 data 和 javascript 伪链接吗
默认都跳过,并且会明确告诉你跳过了几个、data: 内容合计多大。原因很实在:一张内联的 base64 图片动辄几百 KB,几十个塞进结果就能把页面撑死;而 javascript:void(0) 是「看起来是链接其实不是」的头号来源,混进清单只会添乱。默认跳过时,「没提出来的位置」里只留开头 80 个字符的片段,不会把几百 KB 的 base64 灌进表格;确实需要就在「链接类型」里勾上,勾上之后提出来的是完整内容,一条几百 KB 的 base64 会把清单撑得很高、下载文件也会变大,用完建议再关掉。另外用 HTML 输出格式时,这两类会被强制降级成纯文本,绝不会生成一个可点的 javascript: 超链接——你很可能把输出直接贴进自己的网页。
提取链接时中文域名和 xn-- 怎么显示
https://中国.cn/首页 能正常识别;实际输出的链接里主机是 xn--fiqs8s.cn、中文路径是百分号编码,这是浏览器地址栏里真正生效的形式。清单的「网址」列显示的是解码后的可读值(xn--fiqs8s.cn 显示成 中国.cn,%E4%B8%AD 显示成中文),方便你核对,但复制和下载拿到的始终是可直接使用的原样链接,两者永远分得清清楚楚。看到「国际化域名」标记时建议多看一眼域名——长得像中文品牌的国际化域名有时并不是你以为的那个站。本工具只做这一条中性提醒,不做钓鱼判定。
提取链接能检测哪些是失效的死链吗
不能,而且这是刻意的,不是没做完。检测死链必须逐条去访问这些网址:要么让服务器代抓,那你的链接就上传了;要么在浏览器里直接请求,那会被跨域限制挡住,还会把访问记录留在对方服务器上。本页只负责准确地把链接提出来,一次网络请求都不发。想查可用性,请把清单导出后用你自己信任的工具去检测。同理,本页也不抓网页标题、不展开短链、不查 IP 归属、不判断是否为钓鱼站。
提取链接免费吗有没有字数限制
完全免费,不用注册、不用下载软件,也不加水印,13 种链接类型、9 种来源、7 个预设、链接清洗与「没提出来的位置」这些功能都不分免费版付费版。原因很实在:提取全部由你自己的浏览器算完,站点不承担计算成本。限制只来自浏览器性能:建议单个文件 10 MB、单次 500 万字以内,超过 20 万字后不再边打边出结果,改成点「开始提取」再分片计算,带进度、可以随时取消,触到上限时页面会明确写出已处理到哪里。结果清单默认展开前 20 条、「没提出来的位置」记录前 500 处,复制与下载拿到的都是完整数据。
提取链接支持哪些文件格式
直接粘贴文字是最省事的路径,不受文件格式限制;要拖文件的话,支持 .txt、.md、.html、.htm、.csv、.log、.json、.srt、.xml 这些纯文本文件,单个文件 10 MB 以内,一律按 UTF-8 读取,遇到 GBK 或被改了扩展名的二进制文件会明确提示「该文件不是 UTF-8 纯文本,请另存为 UTF-8 后重试」,而不是给你一堆乱码。.docx、.xlsx、.pdf 这类二进制文档本页不解析:Word 文档请先用 Word 转 HTML 转成 HTML 再粘进来,超链接的 href 与锚文本都在;PDF 与 Excel 直接全选复制正文粘过来就行,链接照样能提。
提取链接结果导出 Excel 会乱码吗
不会。下载的 .csv 与 .txt 默认带 UTF-8 BOM,用 Excel 或 Windows 记事本直接打开中文不乱码,也可以在结果区关掉「下载文件带 UTF-8 BOM」这个开关给程序读。CSV 与 TSV 都是七列:网址、类型、域名、锚文本或来源、出现次数、行:列、上下文,粘进 Excel 就能分列做筛选与透视,接着用 CSV 转 Excel 存成 xlsx 更好继续做表。以 =、+、-、@ 开头的单元格会做公式注入防护,Excel 打开时不会把一条链接当公式执行。
手机上怎么提取链接不用装 App
能,用手机浏览器打开本页粘贴文字就能提,不用装 App、不用注册,提取同样在手机本地完成、文字不上传。移动端做过适配:7 个预设按钮会自动换行排开,13 个类型勾选框与统计卡在窄屏下一行一项铺满,长网址会折行显示而不会把表格撑破,结果清单与「没提出来的位置」都可以横向滚动看完各列。从微信文章、群聊记录、备忘录里复制过来的一大段文字,正好用默认的「提取全部链接」预设一次把网址都捞出来。

提取链接支持哪些链接写法:13 种类型完整对照表

下面这张表和页面的提取实现共用同一份数据,看到什么就一定按什么提。 每一种类型都能单独勾选或关闭,关掉之后文本里的这类链接会进入「没提出来的位置」表并写明 「该链接类型未勾选」,而不是悄悄消失。

类型例子说明默认
网址https://a.com/xhttp 与 https 开头的完整网址,是绝对主力;明文 http 数会单独统计出来✔ 勾选
裸域名www.a.com/x不带协议的网址,按 7 条规则判定(末段须是已知域名后缀),输出时可自动补 https://✔ 勾选
协议相对链接//cdn.a.com/x.js省略协议的链接,网页源码里很常见;填了「网站地址」后按其协议补全✔ 勾选
相对链接/a/b.html只在 HTML / Markdown 结构里抽取;填了「网站地址」才能补成绝对网址,没填则原样保留并标注✔ 勾选
页内锚点#section-2只跳当前页的锚点,绝大多数场景是噪音,所以默认不提✘ 关闭
邮件链接mailto:hi@a.cn协议形式的邮箱链接,会把邮箱地址单独拆出来一列;正文里的裸邮箱默认不提✔ 勾选
电话短信链接tel:+8613800138000tel: / sms: / callto: 这类拨号链接,号码会拆出来单列一列✔ 勾选
FTP 链接ftp://a.com/x.zipftp / ftps / sftp 文件传输链接✔ 勾选
本地文件链接file:///C:/a/b.txt指向本机路径的链接,从 Word、聊天记录里复制过来时常见✔ 勾选
磁力与下载链接magnet:?xt=urn:btih:abcmagnet / ed2k / thunder,中文站很常见✔ 勾选
App 唤起链接weixin://dl/chat自定义 scheme 的唤端链接,按「合法 scheme + ://」通用识别,不写死清单✔ 勾选
data: 内联内容data:image/png;base64,iVBOR…把图片直接写进网页的内联数据,动辄几百 KB,默认跳过并告诉你跳过了多少✘ 关闭
javascript: 伪链接javascript:void(0)「看起来是链接其实不是」的头号来源,默认跳过并计数✘ 关闭

提取链接时网址藏在网页源码的哪些位置

纯文本模式只扫正文里直接写出来的裸链;切到 HTML 源码或 Markdown 模式后,下面这些结构化位置 也会被抽取,并且结构化优先——同一段字符已经被 href="…" 吃掉,就不会再作为裸链重复产出一条。

来源例子覆盖范围默认
正文裸链见 https://a.com直接写在正文里的网址✔ 勾选
超链接 href<a href="https://a.com"><a> <link> <area> <base> 的 href 属性,同时抓锚文本✔ 勾选
资源 src<img src="a.png"><img> <script> <iframe> <video> <audio> <source> <embed> <track> 的 src✔ 勾选
多倍图 srcset<img srcset="a.jpg 1x, b.jpg 2x">逗号分隔的多候选逐条拆开,并标出 1x / 2x / 800w 描述符✔ 勾选
其他属性<form action="/s">form action、object data、video poster、blockquote cite、use xlink:href✔ 勾选
CSS url()background:url(a.png)CSS 的 url(...)(引号可有可无)与 @import✔ 勾选
Markdown 行内链接[文字](https://a.com)[文字](网址)、![alt](网址)、<https://a.com> 自动链接✔ 勾选
Markdown 引用式[1]: https://a.com行首的 [id]: 网址 "标题" 引用式定义✔ 勾选
<meta> 内容<meta content="https://a.com">og:image、canonical 这类模板噪音多,默认不提,勾上才提✘ 关闭

提取链接默认不提哪些位置的网址:五条排除规则

规则例子默认说明
代码块里的链接不提``` https://a.com ```✘ 关闭默认关:教程、README 里的示例链接往往正是你要提的
HTML 注释里的链接不提<!-- https://old.com -->✔ 开启默认开:注释里多是被下线的旧链接
正文裸邮箱不提hi@a.cn✔ 开启默认开:提邮箱是「提取邮箱」的活;mailto: 链接不受这条影响
裸 IP 不当链接192.168.1.1✔ 开启默认开:裸 IP 更可能是一段 IP 文本;http://192.168.1.1/x 不受影响
本机地址不提http://localhost:3000✘ 关闭默认关:调试时正需要它们;开启后 localhost / 127.0.0.1 / *.local 一律跳过

无论因为哪条规则、哪个未勾选的类型、还是哪个筛选条件而没提, 页面都会在「没提出来的位置」表里列出行列号、原文片段和人话原因 (超过 500 处时逐条记录前 500 处,总处数照样写在标题上)。 这张表默认就是展开的,因为静默漏抽等于工具坏了—— 用户抱怨「我的链接怎么没提出来」时,答案必须在页面上。

提取链接和网址提取工具是一回事吗

是同一件事,只是叫法不同:搜「提取链接」「提取网址」「URL 提取」的人要的都是同一个结果—— 把文字里的网址挑出来排成一列。但不同叫法背后的工具形态差别很大, 尤其带「器」字的那一类,往往指要安装的软件、浏览器插件,或者会自己联网去抓取的采集器。 下面把常见叫法对到本页的具体做法,省得你再找一遍。

叫法这个词通常指什么在本页对应哪一步
在线提取链接 / 网址提取工具中性的通称,泛指打开网页就能用、不用装东西的那一类。本页就属于这一类:打开即用,不注册、不下载。
链接提取器 / 一键提取链接带「器」字的多半指要安装的软件或浏览器插件,不少还会自己去访问网站抓取。本页只读你粘进来的文字,不读你正在浏览的页面;一键提取链接对应的是 7 个预设,点一下换一整套参数。
文本提取链接 / 从文字中提取链接强调输入是一段纯文本,而不是 Word、PDF 这类文件。默认的纯文本模式;二进制文档要先转成文字再粘进来。
从一段文字里提取所有网址问的是操作而不是工具名:一整段丢进去,网址自己列出来。粘贴、选预设、复制或下载,三步。
批量提取网址 / 批量提取网址工具强调一次几十上百条,而不是一条条手动复制。一次粘一整篇,几万字也是同一套流程,字数上限见下面的常见问题。
URL 提取 / 提取全部 URLURL 就是网址的英文说法,指的是同一件事。对应「提取全部链接」预设,13 种类型全勾上。
网页源码提取链接 / html 提取所有链接输入是 HTML 源代码,要的是 href、src 这些属性里的地址。按 Ctrl+U 复制源码粘进来,模式自动切到「HTML 源码」。
markdown 提取链接输入是 .md 文件或笔记原文。Markdown 模式,认 [文字](网址)、图片语法与行首的 [1]: 引用式定义。
提取超链接 / 提取 a 标签 href / 提取 src 链接说的是网页里的结构化位置,而不是正文里直接写出来的裸链。对应上面 9 种抽取来源里的「超链接 href」与「资源 src」,可以单独勾选。
link extractor / url extractor online英文语境的通称。海外同类在线工具不少是「你填个网址、服务器替你去抓」,本质是采集器。本页在你自己的浏览器里跑,一次网络请求都不发。
extract links from text / extract all urls / get all links from html三种说法分别强调:输入是纯文本、要的是全部、输入是 HTML。分别对应纯文本模式、「提取全部链接」预设与「HTML 源码」模式。

提取链接能提 mailto 和磁力链接吗

能,而且默认就开着。提取 mailto 链接时,mailto:hi@a.cn 会被当成一条链接收下来,里面的邮箱地址还会单拆一列;正文里没写 mailto: 的裸邮箱默认不提,那是提取邮箱的活。 提取磁力链接同理:magnet:ed2k:thunder: 归在「磁力与下载链接」这一类,中文资源站里很常见。weixin:// 这类唤起 App 的链接按「合法 scheme 加 ://」通用识别、不写死清单, 所以新出来的 App 协议也认得;tel:ftp://file:/// 各占一类,都能单独关掉。

提取链接为什么不能直接用 https?://\S+ 正则

很多人第一反应是拿 https?://\S+ 在编辑器里全局匹配,或者用批量查找替换手搓一个规则。 问题是真实文本里的链接几乎从不是「一串连续的非空白字符」,下面十条是最常见的翻车现场:

原文\S+ 的结果本工具的结果
见 https://a.com/x。https://a.com/x。(句号被吃进去,点开 404)https://a.com/x,并标出剥掉了「。」
(https://a.com/x)https://a.com/x)(全角右括号跟着走)https://a.com/x(括号配平判断后剥掉)
.../wiki/Foo_(bar)要么整条不剥、要么把 (bar) 一起剥坏完整保留 (bar)——括号在串内是配平的
www.a.com/x完全漏掉(没有 http 开头)认成裸域名,可自动补 https://
访问https://a.com看看https://a.com看看(把汉字吃进域名)https://a.com(顶级域后遇中文即截断)
href="a?x=1&amp;y=2"a?x=1&amp;y=2(HTML 实体没解码)a?x=1&y=2(实体解码后才是真链接)
srcset="a.jpg 1x, b.jpg 2x"只取到第一个,或把 1x 也当成网址拆成两条,并各自标出 1x / 2x
data:image/png;base64,…几百 KB 的内联图片整段灌进结果默认跳过并告诉你跳过了几个、合计多大
javascript:void(0)混进链接清单默认跳过并计数,HTML 输出里降级为纯文本
同一条链接出现十几次原样重复十几行按归一化网址去重,并给出出现次数

这些坑最麻烦的地方不是难修,而是修错了不会报错: 正则照样跑完、照样吐出一列链接,只是其中几条点开是 404、几条压根没被提出来, 等到发现的时候已经不知道错在哪一步。本页把这些判断做成勾选项, 并把每一处「为什么没提出来」都摆出来,让结果可以逐条核对。

如果你本来就会写正则、要的是完全自定义的抽取规则,正则测试更合适; 要把链接从原文里删掉或替换成别的内容,用批量查找替换—— 本工具只读不改原文,永远不做回写。已经是一列现成网址、只想去掉重复的,用文本去重更轻; 但要注意它是逐字符比较的,认不出 HTTPS://A.com/ https://a.com 是同一条,本页按归一化后的网址去重才行。

提取链接时边界是怎么判的:句号剥掉、括号不剥坏

「找到 http」不难,难的是判断这条链接到哪里结束。 中文正文里链接后面几乎总跟着标点,多带一个句号点开就是 404; 而维基百科那种链接本身带括号的,剥掉同样 404。本页按三步处理,每一步都有单元测试钉住:

  1. 无条件剥:句号、逗号、分号、冒号、感叹号、问号、省略号、引号、星号, 以及它们的全角形式,从右往左连续剥掉。注意点只在结尾剥,a.com/a.b 中间的点不会动。
  2. 配对剥:括号类符号只在候选串内不配平(右符号比左符号多)时才剥。覆盖半角 () [] {} 与中文的 () 【】 「」 『』 《》 〈〉 以及中文引号。
  3. 循环执行直到不再变化,最多 8 轮。所以 见(https://a.com/x)。 能一次剥干净「)。」两个字符。
原文提取结果为什么
见 https://a.com/x。https://a.com/x句号在 URL 里没有意义,无条件剥
见(https://a.com/x)。https://a.com/x循环剥两轮:先剥句号,再剥不配平的右括号
(https://a.com/x)https://a.com/x串内右括号 1 个、左括号 0 个 → 不配平,剥
https://en.wikipedia.org/wiki/Foo_(bar)原样保留左右括号各 1 个 → 配平,不剥
【https://a.com】https://a.com/中文方括号同样按配对规则处理
https://a.com/a.b原样保留点只在结尾剥,路径中间的点不动
访问https://a.com看看https://a.com/顶级域 .com 之后紧跟汉字 → 在顶级域处截断
https://a.com/中文页面。https://a.com/中文页面路径里允许中文,只剥掉结尾那个句号
https://a.com/中文页面看看全部吃进路径中文路径后面不留空格或标点时无法判定,本页如实说明这个局限

提取链接遇到中文路径不留空格为什么会多吃几个字

https://a.com/中文页面看看 这种「路径里有中文、后面紧跟中文正文、中间没有任何 标点或空格」的写法,在信息论上就是不可判定的——没有任何规则能分清 「看看」是路径的一部分还是下一句话的开头。本页的选择是全部吃进路径,并在这里说清楚:中文路径后面请留一个空格或标点。假装能猜对比说清楚更糟。 另一种情况有办法:访问https://a.com看看 里汉字紧跟在顶级域后面, 这时会在 .com 处截断,因为顶级域之后只可能是 / ? # : 或者结束。

提取链接时被换行截断的长网址要不要自动合并

从邮件或 PDF 里复制长链接时,链接常常被折成两行。本页默认不自动合并, 只统计并提示「有 N 处链接疑似被换行截断」;打开「合并被换行截断的链接」开关后才会拼接, 并且每条都会标上「已合并」让你核对。这是启发式判断——静默合并出一条拼错的链接却让你毫不知情, 比不合并糟糕得多。行尾的连字符 - 一律保留,因为它在 URL 里是合法字符。

还有一种常见情况:从 Word 或微信复制来的全角网址 https://a.com。本页会识别出来并提示,但不做转换—— 那是 全角半角转换 的活, 在这里顺手转会引入隐性改写。先转成半角再回来提取即可。

提取链接为什么 example.com 认、main.js 不认

不带协议的写法在中文互联网极其常见,不认就要漏掉一半;可认得太松,main.jsREADME.mdsrc/index.tsv1.2.33.14 就全会变成「链接」,清单直接没法看。 本页要求下面这些条件同时满足才认成裸域名:

  1. 左右边界必须是非主机字符,所以「访问淘宝taobao.com」里的 taobao.com 也能认出来。
  2. 紧邻左侧是 / \ . @ 时一律不认—— 那是路径或邮箱的一部分。
  3. 末段必须命中已知顶级域表(大小写不敏感,中文顶级域单独列)。
  4. 末段若同时是常见文件扩展名(.sh .py .io .me .co .ts .md .zip .mov 等), 还必须额外满足其一:有 www. 前缀、后面紧跟路径、或者后面紧跟端口号。
  5. 末段是纯数字一律不认,这一条同时挡掉了小数、版本号和裸 IP。
  6. 每段 1–63 个字符、只含字母数字与连字符(或者整段都是中文),不以连字符开头结尾,总长不超 253。
输入判定依据
taobao.com✔ 认末段 .com 是已知顶级域,且不与文件扩展名冲突
www.a.com/x✔ 认www. 前缀是最强的域名信号
vercel.app/x✔ 认.app 是已知顶级域,后面还跟着路径
www.b.io / b.io/docs✔ 认.io 与扩展名冲突,但有 www. 前缀或后跟路径
b.io✘ 不认冲突后缀且没有任何旁证——宁漏勿滥,你加个 https:// 就能提
main.js / README.md / src/index.ts✘ 不认末段更像文件扩展名;且左边紧挨 / 或 . 时一律不认
3.14 / v1.2.3✘ 不认末段是纯数字,是小数或版本号
192.168.1.1✘ 不认裸 IP 更可能是一段 IP 文本;http://192.168.1.1/x 照常提取
a看看.com✘ 不认一个 label 要么全是中文、要么全是字母数字,不能混写

这套规则的取舍是宁漏勿滥:漏认一个冷门新顶级域,你自己加个 https:// 就能提出来;而误认一次,整份清单里就会混进几十条 main.js 这样的假链接,你还得一条条挑出来。顶级域表按常见度整理, 这里也如实说明:它不是完整的 IANA 一千多个新 gTLD 列表, 同样地,内外链判定用的二级后缀表(com.cnco.uk 这类) 也不是完整的 Public Suffix List。

另外要区分清楚:本页只提 mailto: 这类协议形式的邮箱链接,正文里的裸邮箱 a@b.com 默认不提(它会出现在「没提出来的位置」里, 写明这是邮箱地址)。要的就是这些邮箱,请用提取邮箱——那边把 mailto: 与正文裸地址一起提,还能还原 a [at] b [dot] com 这类防抓写法、配对姓名, 两边对「哪一段是网址」的口径共用同一份实现。tel: 链接同理:本页只把它当一条链接收着,要的是里面的号码本身请用提取手机号——那边把 tel:data-phone 属性与正文里的号码一起提, 还会判号段运营商、按 E.164 去重、把锚文本当姓名配上。要提数字请用 提取数字——那边把网址当噪音排除,这边把网址当结果提取,两边对「哪一段是网址」的口径由交叉测试守着。

提取链接一般用来做什么:7 个真实场景

  • 从微信文章、聊天记录里把网址都捞出来整段复制粘进来就行。中文正文里 `详情见 https://a.com/x。` 结尾的句号、`(链接)` 外面那对全角括号都会自动剥掉,不带 http 的 www.a.com 也认得。提出来的清单默认已经去重,并标出每条出现了几次。
  • 查看网页源代码后批量提取图片链接在浏览器里按 Ctrl+U 打开网页源代码,全选复制粘进本页,模式会自动切到「HTML 源码」,然后点「提图片链接」预设:img 的 src、srcset 多倍图、CSS 里的 url() 都会被提出来,并按图片扩展名筛一遍。批量提取图片地址时把输出格式切到「每行一个」,拿到的就是一列干净的图片网址。
  • README 与笔记里的链接盘点Markdown 模式认得 [文字](网址)、![alt](网址)、<https://a.com> 自动链接和行首的 [1]: 引用式定义,锚文本会一并抓出来。输出格式切到「Markdown 列表」就能直接搬回笔记里。
  • 提取外链做外链盘点与域名统计在「网站地址」里填上自己的站点,点「只要外链」预设,同站链接会被滤掉,剩下的按域名分组。切到「只要域名清单」还能拿到一份去重域名 + 出现次数,做外链盘点或竞品引用统计。把本页当外链盘点工具用时要记得:它只盘点你粘进来的这一篇,不会替你去爬整站。
  • Word 文档里的超链接怎么批量提本页不解析 .docx 二进制文件。正确做法是先用 Word 转 HTML 把文档转成 HTML,再把 HTML 粘进本页——所有 href 都会被完整抽出来,锚文本也在。
  • 分享前清洗掉跟踪参数点「清洗链接」预设,utm_source、gclid、fbclid 以及淘宝 spm、B 站 vd_source、小红书抖音 share_token 这些中文平台参数会被去掉,并逐条列出改了什么,原始链接一直保留着,随时能切回原样。
  • 提取后导出 CSV 接着做表输出格式切到「七列 TSV」可以直接粘进 Excel 分列(网址、类型、域名、锚文本、出现次数、行列位置、上下文),或者下载 UTF-8 带 BOM 的 CSV,再用 CSV 转 Excel 继续做透视与统计。

微信文章提取链接能提出多少条:一个算例

光说「都能提」没用,直接把下面这四行粘进本页,对着数一遍就知道每条规则在做什么:

双十一活动详情见 https://shop.example.com/act?id=8&utm_source=wx&spm=a1z10.3-c。
备用地址 www.example.com/act,图片在 https://img.example.cn/1.jpg。
(活动规则 https://shop.example.com/rule)合作请联系 hi@example.cn 或 mailto:pr@example.cn
再次提醒:https://shop.example.com/act?id=8&utm_source=wx&spm=a1z10.3-c 今晚 8 点开抢
  • 提出 6 条、去重后 5 条:第一行那条商品链接在第四行又出现一次, 两条归一化后完全相同,合并成一条并标「出现 2 次」。
  • 剥掉 4 个尾部字符:第一、二行两个句号,第二行 /act 后面的全角逗号,第三行 /rule 后面那个不配平的右括号—— 这四处都会挂上「已剥尾」角标,悬停能看到原样。
  • 裸域名补协议www.example.com/act 认成裸域名, 自动补成 https://www.example.com/act,原样值留在「原文」列里。
  • 跳过 1 处并写明原因hi@example.cn 是正文里的裸邮箱,不是协议形式的链接,它会进「没提出来的位置」并注明是邮箱地址; 同一行的 mailto:pr@example.cn 带协议头,照常提取。
  • 清洗后从 61 个字符缩到 33 个:点「清洗链接」预设,&utm_source=wx&spm=a1z10.3-c 被剪掉, 剩下 https://shop.example.com/act?id=8,问号和 id=8 这个业务参数原样保留。

提出来的网址想逐条变成二维码,用 二维码生成(它是单条生成的,本页不做批量出图);结果导出后继续做表用CSV 转 Excel; 需要对单条网址做编码解码用 URL 编码解码; 全角网址先用 全角半角转换 转成半角再回来。

提取链接的 7 个一键预设分别提什么

七个预设用同一个示例串横向对比,点一下就是整套参数(类型勾选 + 来源 + 排除规则 + 整理选项 + 清洗开关),点完之后照样可以手动改任意一项,改了就变成「自定义」。示例串是:

详情见 https://shop.example.com/item?id=9&utm_source=wx(含图 https://img.a.cn/1.jpg)联系 mailto:hi@a.cn

预设做什么示例结果典型场景
提取全部链接全类型(data: 与 javascript: 伪链接、页内锚点除外)+ 全来源 + 按网址去重 + 原顺序3 条:商品链接、图片链接、mailto通用抽取,不知道选什么就用它
只要网址只留网址、裸域名、协议相对链接,裸域名补上 https://,按网址去重2 条:商品链接、图片链接(mailto 被滤掉)拿一份能直接点开的网址清单
只要域名清单按域名去重并统计出现次数,按次数从多到少排序2 个域名:shop.example.com、img.a.cn看一篇文章都引了哪些站,做外链盘点
提图片链接来源限 src / srcset / CSS url() / 正文裸链,并按图片扩展名筛1 条:https://img.a.cn/1.jpg从网页源码里批量拿图片地址
清洗链接去掉跟踪参数与 #片段、域名转小写、去掉默认端口,并逐条列出改了什么https://shop.example.com/item?id=9(已去掉 utm_source)分享前把 ?utm_source=... 的尾巴剪掉
导出 Markdown 链接输出 - [锚文本](网址) 的 Markdown 列表,锚文本缺失时用域名兜底- [shop.example.com](https://shop.example.com/item?id=9…)把网页里的链接搬进笔记
只要外链填上本站域名后排除同站链接,按域名分组排序填 example.com 后只剩 https://img.a.cn/1.jpgSEO 外链盘点

这样设计是因为真实需求从来不是「把所有链接都提出来」这一种, 而是「只要能点开的网址」「只要域名不要路径」「只要图片地址」「把跟踪参数剪掉再分享」 这类带条件的组合。