关于 alterlab-yok-akademik
面向研究人员和学术管理工作的技能,用于查询土耳其学者在 YÖK Akademik 登记的现职、职称、院系、项目、论文及指导的学位论文。它依赖门户网页抓取,要求核实同名候选人,不能替代全文检索或职业资格评分。
主要功能
- 01按姓名查找学者档案
- 02核对机构、院系与职称
- 03查看门户登记的项目与出版物
- 04列出指导的硕士和博士论文
- 05处理土耳其姓名变体
适用场景
- 01核实作者当前所属机构
- 02查询学者的职称和院系
- 03整理研究项目与出版记录
- 04查找学者指导的学位论文
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-yok-akademik安装后在 Claude Code 中输入/alterlab-yok-akademik确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/affiliation_verification.mdendpoints.mdturkish_names.mdscripts/yok_akademik.py详细介绍
YÖK Akademik — 官方土耳其学者档案与任职信息查询
YÖK Akademik(Yükseköğretim Kurulu Akademik——土耳其高等教育委员会学术搜索门户)是查询土耳其学者官方当前任职单位的权威来源。它由 YÖKSİS(国家高等教育信息系统)提供支持,因此对于土耳其机构,其信息比 ORCID 或 OpenAlex 中滞后且零散的任职信息更可靠。
此技能可根据姓名查找官方记录:当前的 kurum(机构)、fakülte/bölüm(学院/系)、unvan(学术职称,例如 Prof. Dr.、Doç. Dr.、Dr. Öğr. Üyesi),以及门户中列出的该人员的出版物、研究 projeler(项目)和 danışmanlık yapılan tezler(指导的论文)。
没有公开的 JSON API。
akademik.yok.gov.tr/AkademikArama/门户是一个由服务器渲染的 Java/JSP 应用。唯一途径是礼貌地抓取其已验证端点中的 HTML。请将每条记录视为权威但经抓取获取的信息:在确认任职信息前,先请用户确认候选匹配结果。
何时使用此技能
在以下请求中使用此技能:
- 核实土耳其学者当前的机构/任职信息(用于作者署名、推荐信、项目团队或编委会核查)。
- 按姓名在 YÖK Akademik 上查找/查询研究人员。
- 查看某人的官方 unvan(职称)及学院/系。
- 列出某人指导过的论文(硕士/博士),并附上学生、年份和机构。
- 将此人的门户所列出版物或研究项目作为初步资料集。
不适用情况
将以下相关请求转交给相应的同级技能,不要在此处回答:
| 实际请求内容…… | 改用 |
|---|---|
| 大学/专业录取统计数据——kontenjan、taban puan、başarı sırası、yerleşen | alterlab-yokatlas |
| 阅读或引用国家档案库(Ulusal Tez Merkezi)中的论文全文/摘要 | alterlab-yok-tez |
| 搜索国家期刊托管平台 DergiPark | alterlab-dergipark |
| 查询某期刊是否被 TR Dizin(国家引文索引)收录 | alterlab-trdizin |
| 补充/核实出版物元数据(DOI、引用次数、合著者) | alterlab-openalex |
| 核查被引用论文是否实际存在(虚构引用) | alterlab-citation-verifier |
| 根据出版物清单计算 doçentlik(副教授资格)资格分数 | alterlab-docentlik-eligibility |
| 计算 akademik teşvik(学术激励)分数 | alterlab-akademik-tesvik |
YÖK Akademik 回答的是“这位学者的官方身份是什么,目前在哪里任职?”它不会评判研究质量、计算职业晋升分数,也不会获取论文全文。
已验证的端点(无需 API 密钥)
所有端点均位于基础地址 https://akademik.yok.gov.tr/AkademikArama/ 下。没有
有文档记录的 JSON API;这些都是 HTML/JSP 页面。各端点的完整映射、参数和验证状态请参阅
references/endpoints.md。
| 步骤 | 端点 | 返回内容 |
|---|---|---|
| 按姓名搜索 | 使用 aramaTerim=<name>&islem=1&…Checkbox=on 向 AkademisyenArama 发送 POST 请求 → 类别页面 → 点击其中的 Akademisyenler 链接 → view/searchResultviewListAuthor.jsp | 候选行:姓名、职称、大学、学院/系,以及包含不透明 authorId 的个人资料链接 |
| 个人资料/选择作者 | AkademisyenGorevOgrenimBilgileri?islem=direct&authorId=<id> → 呈现 view/viewAuthor.jsp | 此人的页眉信息:当前机构、学院、系、职称、ORCID/电子邮件徽章。此 GET 请求还会在会话中注册作者(如果未执行此请求,下面的标签页会返回 500)。 |
| 项目 | AkademisyenProjeBilgileri?authorId=<id> | 门户列出的研究项目(AB/TÜBİTAK/araştırma …) |
| 出版物 | AkademisyenYayinBilgileri?pubType=<token>&authorId=<id> | 分类标签页(Kitaplar/Makaleler/Bildiriler)。pubType 必填且不透明——从个人资料页面获取对应令牌(pubType 为空时 → HTTP 418) |
| 指导的论文 | AkademisyenYonTezBilgileri?authorId=<id> | Danışmanlık tezleri:标题、学生、级别、年份、机构 |
authorId 是一个不透明值(16 位十六进制字符令牌,例如 006B496E5F3E4EE2)——切勿自行构造或猜测;只能使用从实时搜索结果中获取的 ID。必须使用 Cookie 会话:辅助脚本会先请求门户根路径,让服务器设置搜索 POST 请求所需的 JSESSIONID(不带会话的 POST 请求会返回 HTTP 500)。
工作流
1. 规范化姓名并搜索
土耳其语大小写规则很容易出错:İ→i 和 I→ı 并不是 ASCII 折叠。请使用用户提供的原始姓名(正确编码为 UTF-8)进行搜索,同时也尝试折叠变音符号后的形式,这样 "Cağrı"、"Cagri" 和 "Çağrı" 都能匹配到同一个人。辅助脚本会同时尝试这两种形式。关于 İ/ı、Ş/ş、Ğ/ğ、Ç/ç、Ö/ö、Ü/ü 的具体规则及匹配策略,请参阅 references/turkish_names.md。
uv run python skills/turkish-academia/alterlab-yok-akademik/scripts/yok_akademik.py \
search "Ayşe Yılmaz"
此命令会返回候选列表(默认输出美化后的 JSON;添加 --json 可输出紧凑的单行结果)。每个候选项都包含其 authorId、姓名和职称。
2. 与用户确认身份
常见姓名会匹配到很多人。请将候选项整理成表格—— 姓名 · 职称 · 大学 · 学院/系——并询问用户要选哪一位(或请用户确认预期的机构)。不要默默选中第一行并断言其所属机构;这正是导致署名或信函出错的做法。
3. 获取所选人员的个人资料/项目/论文/出版物
传入的 authorId 必须来自实时搜索结果行。每个按作者查询的命令都会先打开个人资料(在会话中选定作者),然后再获取对应标签页——辅助脚本会为你处理这一过程。
# Profile header (affiliation, unvan)
uv run python .../scripts/yok_akademik.py profile --author-id <authorId>
# Research projects (AB / TÜBİTAK / araştırma …)
uv run python .../scripts/yok_akademik.py projects --author-id <authorId>
# Supervised theses
uv run python .../scripts/yok_akademik.py theses --author-id <authorId>
# Portal-listed publications (typed tabs: Kitaplar / Makaleler / Bildiriler)
uv run python .../scripts/yok_akademik.py pubs --author-id <authorId>
4. 报告结果——并说明信息来源
报告所属机构时,请说明信息来自 YÖK Akademik(YÖKSİS),并注明日期,因为人员可能会调动。如果抓取失败或门户返回了 302/500(这种情况偶尔会发生),请如实说明,并改用 WebFetch 查询搜索页面——切勿凭记忆编造所属机构、authorId、标题或论文信息。
礼貌与稳健性规则
该门户是没有 API 的公共服务;请温和抓取。
- 使用一个描述性
User-Agent;限制请求频率(请求间隔约 1–2 秒);遇到常见的临时性 302/500 响应时,先采用退避策略重试,再放弃。 - 在同一会话中缓存结果,避免反复请求相同的
authorId。 - 脚本优先使用
requests+BeautifulSoup;如果缺少BeautifulSoup,则降级为使用标准库html.parser提取内容,确保在精简的uv环境中也能运行。 - 完全失败时,输出结构化的
{"status": "unavailable", ...}记录,并提供手动查询说明;绝不编造个人资料。
报告前自查
- 我使用的
authorId是通过实时搜索获得的,还是猜的?(绝不猜测。) - 如果有多个候选人与姓名匹配,我是否进行了消歧?
- 我报告的所属机构是否注明归属YÖK Akademik / YÖKSİS,并附有日期?
- 用户实际想要的是招生统计信息(
alterlab-yokatlas)或论文全文(alterlab-yok-tez)吗?请重新检查“不会触发”的表格。 - 如果门户无法访问,我是否如实说明,而不是凭记忆填补信息?
参考资料
references/endpoints.md— 已验证的 JSP 端点映射、参数、authorId说明,以及已验证与未验证的内容。references/turkish_names.md— 土耳其语大小写与变音符号规则(İ/ı 等)以及姓名匹配策略。references/affiliation_verification.md— 为什么在验证土耳其所属机构时,YÖKSİS 优于 ORCID/OpenAlex,以及消歧检查清单。
属于 AlterLab Academic Skills 套件。