文档与 OCR实用指南

网页邮箱提取后怎么验收?五个地址、筛选与完整报告核对

邮箱提取后的交付,要同时核对不同地址数、出现次数、来源页面与导出范围。本篇给出现有内置示例的完整HTML和参考清单:先提取五个虚构地址,再筛选press,比较一条筛选结果与五条完整报告,最后核对Excel三张工作表。

深色背景上的白色旧信封
配图:Valeria Reverdo · Unsplash License

本次修订:提供内置虚构示例的完整HTML,核对五个地址七次匹配、筛选与完整报告差别,以及XLSX三表交付。

先把问题解决

本例一个来源页应得到五个不同地址、七次匹配:hello出现三次,另四个各一次。搜索press后,筛选TXT/CSV仅一条,完整JSON与XLSX仍包含全部五个。报告用于交付依据,扫描备份用于恢复;提取不验证投递,也不会发送邮件。

三种入口,回答不同问题

单页模式只读取给定网页;站内模式根据链接和可用站点地图探索同一来源的网站;导入模式解析已保存的 HTML、TXT、页面数据或粘贴内容。它们都不会保证网站每一处邮箱都能找到。不要把一次成功请求称作全站扫描完成。

地址和导入内容会发送到服务端解析,浏览器负责整理与导出,远端网页脚本不会被执行。登录、验证码、动态加载、附件、孤立页面与抓取限制都可能造成遗漏。不要把含有私人通讯录或凭据的文件粘贴成公开网页样本。

按输入选择路线

先学会核对

使用示例,不需要填写真实客户资料。

已保存网页

选择导入/粘贴源码,补充真实来源URL再解析。

准备站内整理

从公开页面开始,设定页面数与链接深度,检查失败和剩余队列。

完整跟做:一份HTML,五个地址,七次匹配

下载contacts.html,内容与本站“使用示例”相同。打开网站邮箱采集,选择导入/粘贴源码,来源网址填https://harbor-labs.example/contact,导入HTML或粘贴本节完整内容,再点击“提取邮箱”。不要把来源说明文字和URL一起当网页正文重复粘贴。

这是虚构站点示例,解析会把输入内容送到服务端,但不会抓取此示例域名或执行HTML里的脚本。读取成功应为1页、不同邮箱5个。hello在正文出现两次、页面数据一次,共3次;其他4个地址各1次,总计7次匹配。一个地址可以有多种识别方式,也不能因此算成多名联系人。

contacts.html完整输入

<!doctype html>
<html lang="en"><head><title>Harbor Labs · Public contacts</title></head><body>
<h1>Harbor Labs public contacts</h1>
<p>General enquiries: hello@harbor-labs.example</p>
<p>Our published contact is hello@harbor-labs.example. This duplicate should become one email record.</p>
<p><a href="mailto:partners@harbor-labs.example?subject=Partnership">Partnerships</a></p>
<p>Press: press [at] harbor-labs [dot] example</p>
<p><span class="__cf_email__" data-cfemail="42313732322d3036022a2330202d306f2e2320316c273a232f322e27">[email protected]</span></p>
<div data-email="events@harbor-labs.example">Public events</div>
<script type="application/ld+json">{"@type":"Organization","email":"hello@harbor-labs.example"}</script>
<a href="/about#team">Our team</a><a href="/contact?utm_source=sample">Contacts</a>
<a href="https://outside.example/contact">External partner (outside website scope)</a>
<p>Fictional example addresses demonstrate extraction. They do not indicate deliverability.</p>
</body></html>
现有内置虚构样例的完整原文,不是真实联系人或投递测试。

每个地址的完整参考
邮箱本地部分完整域名出现次数识别方式
helloharbor-labs.example3text / data
partnersharbor-labs.example1mailto
pressharbor-labs.example1obfuscated
supportharbor-labs.example1cloudflare
eventsharbor-labs.example1data

结果应是例如partners@harbor-labs.example,不带?subject=Partnership。RFC 6068的mailto结构将地址和主题等参数分开;这不证明任何地址真实存在。

搜索press后,先比较筛选件与完整报告

在结果搜索中填press,应只显示press@harbor-labs.example。下载筛选TXT和筛选CSV,打开核对唯一地址。CSV还有表头和来源信息,不能把表头算成第二个邮箱。

保持筛选不变,再下载JSON报告与XLSX报告。JSON的records仍应为5条,hello的occurrences为3;Excel的Emails、Sources、Scanlog分别承载邮箱、来源和页面处理记录。完整报告不受搜索过滤,不能因为界面剩一条就当作只交付一条。

本例筛选后的实际交付口径
下载预期范围打开后核对
筛选TXT / CSV1个press地址没有其他4个邮箱,CSV表头另计
完整JSON / XLSX全部5个不同地址hello出现3次,全部来源页可追溯
HTML / 文本报告当前全部报告覆盖与处理记录完整,不只抄筛选清单
扫描备份JSON扫描状态与可恢复资料按备份格式导入,不把普通报告当备份

站内扫描的完成状态应该怎样写

先给页面上限一个可审阅的值,例如 10,再选择是否尝试站点地图发现。工具最多允许 500 页、深度 0–6,并有 5,000 个不同邮箱等存储限制;达到限制或发现队列处理完,都不能推导网站所有页面已被覆盖。

查看读取成功、失败、跳过、待处理与截断警告。若入口跳到站外,同源遍历不能继续;若部分页面失败,已经取得的结果仍可使用,但报告应保留这些失败。编辑建议是在交付说明写出入口、日期、参数和已知缺口,不用“全部有效邮箱”这样的结论。

浏览器关闭后不会在服务器继续扫。暂停时下载备份,重新进入后导入,再主动点击继续;备份包含地址、来源和待处理URL,应该按资料用途妥善存放。

从实际下载件完成验收,再保留版本和范围

逐张检查XLSX:Emails应有5条邮箱记录;Sources应有5条地址与同一来源页的对应记录;Scanlog上方有任务参数与覆盖说明,下方应只有1条成功页面记录。Emails与Sources的表头另计,Scanlog的参数行不能当作页面数。本例hello有3次出现,但只有一个来源页,所以Sources不能按出现次数重复凑成7页。

再核对JSON记录中的完整邮箱、出现次数、sources.url和识别方式。若贴入的源文不完整,先重新读取正确HTML;若来源URL填错,修正后重新提取。不要只编辑导出的来源列来掩盖输入错误,也不要把报告JSON改名当扫描备份。

如需合并多份表格,按列名对齐合表保留来源;CSV交接可按结构与字段值核对处理。合并不会补齐未读取页面,也不会验证邮箱归属或联系授权。

本例完整交付条件

  • 5个不同邮箱、7次匹配、1个成功来源页的单位分清。
  • hello为3次,其余各1次;partners不含主题参数。
  • press筛选件1个地址,完整报告仍5个,XLSX三表逐项核对。
  • 来源URL、输入HTML、解析报告和需要的扫描备份版本对应。
  • 没有将匹配成功描述成发送、投递验证或全站覆盖;实际范围按合表及CSV检查继续保留。

常见问题

邮箱去重会丢掉不同来源吗?

同一邮箱聚合为一条记录并保留来源;来源存储有上限,出现省略或截断警告时要保留说明。

网页明明显示邮箱,为什么没有提取到?

可能来自脚本加载、附件、登录页面或被截断的内容。可导入有权处理的已保存内容,并记录仍未覆盖的部分。

下载报告后可以自动发送邮件吗?

不可以。工具只解析、整理和导出,不发送邮件,不猜测邮箱,也不做SMTP投递验证。

参考资料与延伸阅读

按步骤开始处理

进入对应工具,预览处理结果,检查导出的文件。

继续阅读