fixmint
ZH

如何从杂乱文本中提取所有邮箱地址和链接

作者: · · 更新于 2026年11月8日 · 阅读约 5 分钟

要从杂乱的网页或导出文件中提取所有邮箱地址,可以先用一个符合邮箱格式的匹配规则,再清理紧挨着它的标点。简单的规则会把句末的句号或逗号一起抓进来,也会漏掉写法特殊的地址。使用前请务必用肉眼检查一遍列表。

提取邮箱和链接从网页中提取邮箱地址免费使用

为什么简单的匹配规则会出错

常见的一种写法是:一串非空白字符、一个 @ 符号,再加一串非空白字符。这种规则很好写,但有两个问题。

它会多抓。在句子 “Contact [email protected], or [email protected].” 中,规则 “\S+@\S+” 会返回 “[email protected],”(带逗号)和 “[email protected].”(带句号)。这些都不是有效地址,邮件合并或垃圾邮件过滤器都会拒绝它们。

它会漏抓。写成 “ana [at] example [dot] com” 或 “ana at example dot com” 的地址完全匹配不到。写作者用这种写法避免被爬虫抓取,有些网页也出于同样的原因这样写。应先替换这些文字,再提取。

更好的规则只允许邮箱本地部分使用地址可以包含的字符,域名右侧只允许字母形式的域名。规则 “[\w.+-]+@[\w-]+\.[\w.-]+” 是一个合理的起点。不过,当地址位于句末时,它仍可能保留域名后的句号,因为域名的最后一段允许出现点号。请从每个匹配结果中去掉末尾的一个句号。提取邮箱和链接工具已经会去掉末尾标点,因此只有在自己编写规则时,这一步才显得尤为重要。

对上面两个例子,该规则的返回结果如下:

链接的情况也一样

网址存在同样的问题。位于句末的链接常常带着句号、逗号或右括号。如果规则是贪婪匹配,括号里的链接,比如 (see https://example.com/page),可能会把右括号也抓进来。请清理末尾标点,然后在浏览器中逐个打开链接,确认可以访问。

链接也可以是相对路径,比如 /contact,邮箱提取会忽略这类内容。提取前先确定你是否只需要完整的绝对地址,并在运行提取时说明这一点。

适用于大多数导出文件的步骤

  1. 先用查找替换功能替换混淆写法:只有在能确认文本是地址的情况下,才把 “[at]” 换成 @,把 “[dot]” 换成句号。
  2. 将文本,或网页的 HTML 源码,粘贴到提取工具的文本或 HTML框中。工具会挑出地址和链接,并去掉末尾标点。
  3. 保持删除重复项勾选。它不区分邮箱地址中的大小写,因此 [email protected] 和 [email protected] 只计一次。如果你已经有一份列表,可以用删除重复行完成同样的工作。
  4. 如果希望列表按顺序排列,请勾选按 A→Z 排序。
  5. 通读最终列表,留意那些不是地址的内容,比如文件名中恰好含有 @ 符号的图片。

示例:某网页包含 “Sales: [email protected]”、“[email protected].” 和 “Support: [email protected]”。提取后得到三条结果。去掉句号并忽略大小写删除重复后,最终是两个地址:[email protected] 和 [email protected]。如果想让列表有序,可以在提取工具中勾选按 A→Z 排序,或使用文本行排序。

保持列表干净,并遵守法规

在许多地方,邮箱地址属于个人数据,许多国家也有反垃圾邮件的规定。从公开网页上获取某个地址,并不自动意味着可以给它发邮件。欧盟的 GDPR 和美国的 CAN-SPAM 法案是两个众所周知的例子,它们的要求各不相同。以上仅为一般性说明,不构成法律建议。发送任何内容之前,请确认适用于你和名单上人员的规则,并在群发邮件中提供退订选项。

边缘情况

  • 不是地址的文本。 像 [email protected] 这样的字符串可能会被匹配到。请删除所有以文件扩展名结尾的内容。
  • 图片中的地址。 先用图片转文字工具识别截图,再从识别结果中提取。截图和照片指南介绍了如何获得干净的识别结果。
  • 隐藏字符。 地址中间的零宽空格会打断匹配,导致地址被漏掉。如果某个已知地址没有被提取出来,请先删除不可见字符再提取。隐藏字符指南说明了它们的来源。
  • 编码过的地址。 有些网页用 HTML 实体隐藏地址,例如用 @ 代表 @。请先解码网页文本,否则规则看不到 @ 符号。
  • 超长导出文件。 对于大文件,请先提取到文件中,再将数量与你预期的行数对照检查。

快速问答

为什么我提取的邮箱末尾会带一个句号?

域名中允许出现句号,因此接受点号的规则可能会把句末的句号一起抓进来。请从每个匹配结果中去掉一个末尾句号。

工具能识别写成 “name at example dot com” 的地址吗?

如果没有替换步骤,通常不可靠。应先把文字转换为符号,但只在文本明显是地址的地方转换,以免改动普通句子。

从网页上提取的每个地址都可以发邮件吗?

这取决于你和收件人所在的地区,以及邮件的内容。反垃圾邮件和隐私规定都适用,请先查清楚。以上仅为一般性说明,不构成法律建议。

由 AI 辅助翻译自英文原文。

评论

    还没有评论。快来抢沙发。

    你的评分(可选)

    你的邮箱不会被显示或保存。

    How to Remain Valuable When Intelligence Becomes Cheap 的封面How to Remain Valuable When Intelligence Becomes Cheap

    224页,探讨当AI能完成大部分认知工作时,哪些人类、经济和战略上的优势依然稀缺。

    $3.84在 Gumroad 获取英文阅读