← 返回 Skills 市场
学术人员邮箱批量搜索工具
作者
Chaoliuzhu
· GitHub ↗
· v1.0.0
· MIT-0
104
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install academic-email-finder
功能描述
学术人员邮箱批量搜索工具。从姓名+单位出发,通过搜索引擎自动查找学术人员的邮箱地址,结果写入Excel文件。 触发词:邮箱搜索、学术邮箱、批量找人、email搜索、搜邮箱
使用说明 (SKILL.md)
学术人员邮箱批量搜索工具
版本:v1.0 用途:根据姓名+单位,自动从全网搜索学术人员邮箱 定位:单次任务型Skill,不驻留后台
能力概述
输入: Excel文件(含姓名列+单位列) 输出: 在原文件新增一列"邮箱",逐行填入搜索到的地址
工作流程
1. 用户提供Excel文件路径 + 说明哪列是姓名、哪列是单位
2. 解析Excel,提取所有姓名+单位对
3. 对每条记录执行搜索:
搜索词:「姓名 + 单位 + 教授/老师/讲师 + 邮箱」
4. 从搜索结果摘要中识别邮箱(正则匹配)
5. 优先保留官方域名邮箱(.edu.cn / .cn / .gov.cn)
6. 排除qq.com / 163.com 等个人邮箱(除非无更好选择)
7. 将邮箱写入指定列
8. 输出完成后的文件路径
搜索策略(三层级)
第1层:高校/机构官网教师主页
搜索词格式:
「{姓名} {单位} 教授 邮箱」
「{姓名} {单位} 副教授 邮箱」
「{姓名} {单位} 讲师 邮箱」
「{姓名} {单位} 导师 邮箱」
「{姓名} {单位} 研究生导师 email」
命中目标:xx大学人事处/研究生院/院系官网的教师主页
第2层:学术平台个人主页
搜索词格式:
「{姓名} {单位} email」
「{姓名} 研究方向 email」
「{姓名} {单位} 通讯作者」
命中目标:ResearchGate / Google Scholar / CNKI / 百度学术
第3层:论文PDF中的通讯作者邮箱
搜索词格式:
「{姓名} {单位} 论文 PDF」
「{姓名} {论文标题片段} 邮箱」
命中目标:论文PDF里通常标注通讯作者邮箱
邮箱识别规则
import re
def extract_email(text):
"""从文本中提取邮箱地址"""
# 匹配标准邮箱格式
pattern = r'[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}'
matches = re.findall(pattern, text)
# 优先级排序
priority_domains = ['.edu.cn', '.gov.cn', '.ac.cn', '.cn', '.org']
personal_domains = ['qq.com', '163.com', '126.com', 'gmail.com', 'hotmail.com', 'outlook.com']
for email in matches:
domain = email.split('@')[1].lower()
# 跳过个人邮箱
if any(pd in domain for pd in personal_domains):
continue
# 优先机构邮箱
if any(pd in domain for pd in priority_domains):
return email
# 没有机构邮箱则退而求其次
return email if matches else None
return matches[0] if matches else None
Excel操作规范
import openpyxl
def write_email_to_excel(file_path, row_number, email, email_column=6):
"""将邮箱写入Excel
Args:
file_path: Excel文件路径
row_number: 数据行号(1-based,含表头)
email: 邮箱地址,没找到填"未找到"
email_column: 邮箱列号(默认F列=6)
"""
wb = openpyxl.load_workbook(file_path)
ws = wb.active
ws.cell(row=row_number, column=email_column, value=email)
wb.save(file_path)
局限性说明
| 渠道 | 可用性 | 备注 |
|---|---|---|
| 高校官网教师主页 | ✅ 优先命中 | 信息公开,覆盖率较高 |
| 科研机构官网 | ✅ 可用 | 研究院/医院等 |
| 学术平台 | ✅ 辅助 | CNKI/Google Scholar/ResearchGate |
| 论文通讯作者 | ✅ 可用 | 仅限通讯作者,且需能找到论文 |
| 百度/Google直接搜 | ⚠️ 辅助 | 可能搜到多个同名学者,需核对 |
| 付费数据库 | ❌ 不可用 | 知网/万方需账号 |
已知风险:
- 同名不同人:搜索"林也平 湖南大学"可能匹配到"林亚平"(重名)→ 需要人工复核
- 冷门学者:小众院校/地方机构可能官网不公开信息
- 个人信息保护:部分学者主动隐藏邮箱
- 覆盖上限:非高校机构(医院/国企/地方政府)官网往往没有教师主页
建议:搜索完成后抽样验证(随机取5-10条用搜索引擎复核)
使用示例
场景:用户提供Excel,需要填邮箱
Step 1:用户提供文件
文件路径:/tmp/people.xlsx
姓名列:B列(第2列)
单位列:C列(第3列)
邮箱写入列:F列(第6列)
Step 2:解析文件
import openpyxl
wb = openpyxl.load_workbook('/tmp/people.xlsx')
ws = wb.active
people = []
for i, row in enumerate(ws.iter_rows(min_row=2, values_only=True)):
name = row[1] # B列
unit = row[2] # C列
if name:
people.append({'row': i+2, 'name': name, 'unit': unit})
Step 3:逐条搜索(子Agent自动化)
对每条记录:
→ web_search:「{name} {unit} 邮箱」
→ 提取邮箱
→ 写入 F列
→ 每20条汇报一次进度
Step 4:输出结果
/tmp/people_with_emails.xlsx
快速启动命令
如需立即对某个Excel运行搜索,复制以下提示词给子Agent:
你是一个邮件地址搜索机器人。任务:根据名单逐一搜索学术人员的邮箱地址。
## 输入文件
读取 /tmp/people_list.json,里面有N条记录,格式:
[{"row": 行号, "name": "姓名", "unit": "单位", "title": "论文标题"}, ...]
## 任务流程
对每一条记录:
1. web_search 搜索「姓名 + 单位 + 教授/老师 + 邮箱」
2. 从搜索结果中提取邮箱地址(格式:[email protected])
3. openpyxl 将邮箱写入 /tmp/target.xlsx 的第6列(F列)
4. 行号对应:第row行
5. 找到写入邮箱,没找到写入"未找到"
6. 每20人输出进度
## 邮箱识别
- 优先.edu.cn / .ac.cn等机构域名
- 排除qq.com / 163.com等个人邮箱
- 同名不同人时选择最匹配的
## 输出
覆盖保存 /tmp/target.xlsx
最后输出统计:找到X个,未找到Y个
版本历史
v1.0
- ✅ 基本搜索流程
- ✅ 三层搜索策略
- ✅ 邮箱正则识别
- ✅ Excel读写
- ⚠️ 同名区分需人工复核
Skill版本:v1.0 创建:小柱(ArkClaw) 最后更新:2026-04-21 用途:学术人员邮箱批量采集
安全使用建议
在决定安装或运行前请考虑并采取以下措施:
- 依赖与运行环境:确认执行该技能的平台提供 Python 及所需库(至少 openpyxl),并确保有可用的 web_search/网络访问能力。技能文档未声明这些依赖,缺一则无法正常运行。
- 备份文件:该流程会直接打开并保存用户提供的 Excel(覆盖写入)。在运行前先备份原文件,或改为先保存到新文件路径以防数据丢失。
- 合规与礼貌抓取:自动化大规模爬取邮件可能违反目标网站的 robots.txt、服务条款或隐私法规。明确限制速率、并发、增加重试/错误处理,并遵守目标网站的抓取规范;对付费数据库(知网/万方等)不要尝试绕过认证。
- 人工复核与样本验证:文档已指出同名问题;务必按建议对若干样本人工核对,尤其是容易混淆的同名记录。
- 安全与滥用风险:收集大量学术邮箱可能被用于垃圾邮件或其他滥用。确认用途合法且合规,并限制导出/共享结果的范围。
- 代码质量提示:示例中的 extract_email 实现会返回遇到的第一个非个人邮箱或第一个匹配项,逻辑简单,可能误判或漏掉更合适的邮箱。建议在部署前进行小规模测试并改进优先级/去重逻辑。
如果你需要,我可以帮你:(1)列出需要在宿主环境中安装的具体 Python 包和命令;(2)给出速率限制/并发控制与 robots.txt 检查的实现建议;或(3)审阅或改写提取邮箱的代码以减少误判。
功能分析
Type: OpenClaw Skill
Name: academic-email-finder
Version: 1.0.0
The academic-email-finder skill is a specialized automation tool designed to search for academic contact information and update Excel spreadsheets. The logic in SKILL.md describes a transparent workflow using standard Python libraries (openpyxl, re) and a web search capability to identify institutional email addresses based on user-provided names and affiliations. There are no indicators of malicious intent, such as data exfiltration to third-party servers, credential harvesting, or unauthorized system modifications.
能力评估
Purpose & Capability
名字/描述与SKILL.md中行为一致:从姓名+单位通过网络搜索收集学术邮箱并写回Excel。但SKILL.md 包含 Python 代码示例(openpyxl、re、web_search 操作、PDF 检索等),技能声明却没有列出任何依赖或运行时要求,实际运行需要 Python 环境、openpyxl 以及可进行 web_search 的能力/接口。未声明的依赖降低可用性并可能导致误解。
Instruction Scope
指令限定为读取用户提供的 Excel、对每条记录执行搜索并写回本地文件,未指示访问其他敏感路径或环境变量——这是符合其用途的。但指令缺少重要约束:没有任何关于速率限制、并发控制、遵守 robots.txt 或网站服务条款的说明;也未说明怎样处理需要登录/付费数据库。大量自动化搜索可能触及法律/反滥用与隐私风险。
Install Mechanism
这是一个仅包含说明文档的 instruction-only skill(无安装脚本),因此不会在安装时写磁盘或下载代码——风险较低。但因为 SKILL.md 自带 Python 示例并依赖 openpyxl 和 web_search 能力,实际运行依赖宿主平台提供这些库/能力;缺乏明确依赖声明是可用性和安全审核上的一个缺口。
Credentials
技能不要求任何环境变量、凭据或配置路径,也不请求权限超出其职能范围。所需的输入为用户提供的本地 Excel 文件路径,输出写回本地文件,未声明外部凭据或秘密,环境/凭据请求与功能比例合理。
Persistence & Privilege
flags 显示 always:false,技能为用户触发的单次任务型,且默认允许模型调用。技能不会要求常驻或修改其他技能配置,持久性/特权请求合理。
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install academic-email-finder - 安装完成后,直接呼叫该 Skill 的名称或使用
/academic-email-finder触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
v1.0 初始版本:姓名+单位自动搜索学术邮箱,三层策略,Excel批量写入
元数据
常见问题
学术人员邮箱批量搜索工具 是什么?
学术人员邮箱批量搜索工具。从姓名+单位出发,通过搜索引擎自动查找学术人员的邮箱地址,结果写入Excel文件。 触发词:邮箱搜索、学术邮箱、批量找人、email搜索、搜邮箱. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 104 次。
如何安装 学术人员邮箱批量搜索工具?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install academic-email-finder」即可一键安装,无需额外配置。
学术人员邮箱批量搜索工具 是免费的吗?
是的,学术人员邮箱批量搜索工具 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
学术人员邮箱批量搜索工具 支持哪些平台?
学术人员邮箱批量搜索工具 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 学术人员邮箱批量搜索工具?
由 Chaoliuzhu(@chaoliuzhu)开发并维护,当前版本 v1.0.0。
推荐 Skills