SuperAPI AI 工具集

cnki-search

写作与研究

查看项目

更新于 10-16 08:52

技能介绍

用途

cnki-search 用于在中国知网(CNKI)上按关键词检索学术论文。当用户希望查找某一主题的学术论文时,可使用该技能完成检索并获取结构化结果。

主要能力

  • 使用中文或英文关键词在 CNKI 进行检索。
  • 单次调用即可返回结果总数与结构化结果列表。
  • 提取字段包括:标题、URL、作者、期刊、日期、数据库类型(期刊/学位论文/会议等)、被引次数、下载次数,以及是否为网络首发。
  • 支持将结果批量导出到 Zotero(通过 cnki-export 技能的批量模式)。

使用方式

该技能基于 RC 浏览器工具运行:使用 browser action=open 打开 URL,并在每一步通过 browser action=act kind=evaluate fn="<异步函数>" 执行 JS(整个函数体放入 fn)。不使用 profile,RC 使用其默认管理的 Chrome(CDP 18800)。

步骤:

  1. 导航:使用 browser action=open 打开 https://kns.cnki.net/kns8s/search
  2. 检索并提取结果:单次 browser act kind=evaluate,不使用 wait_for。将 YOUR_KEYWORDS 替换为实际检索词。脚本会等待搜索输入框出现、检查验证码、填入关键词并提交、等待结果出现、再次检查验证码,然后解析当前页结果。
  3. 报告:以编号列表呈现结果,格式为:Searched CNKI for "$ARGUMENTS": found {total} results (page {page}),随后逐条列出标题、作者、期刊、日期、被引次数、下载次数。
  4. 后续操作:当用户想打开或下载某篇论文时,直接使用 browser action=open 打开结果中的 href URL,不要点击链接(点击会打开新标签页并浪费额外的工具调用)。

验证码检测:检查 #tcaptcha_transform_dy 元素的 getBoundingClientRect().top >= 0。腾讯验证码 SDK 会在 top: -1000000px(屏幕外,未激活)预加载 DOM。仅当 top >= 0(用户实际可见)时返回 error: 'captcha'。

已验证的选择器:

  • 搜索输入框:input.search-input(id=txt_search,placeholder "中文文献、外文文献")
  • 搜索按钮:input.search-btn(type="button")
  • 结果数量:.pagerTitleCell(文本 "共找到 X 条结果")
  • 页码指示:.countPageMark(文本 "1/300")
  • 结果行:.result-table-list tbody tr(每行一篇论文)
  • 标题链接:td.name a.fz14(含 href)
  • 作者:td.author a.KnowledgeNetLink
  • 期刊:td.source a
  • 日期:td.date
  • 数据库:td.data(期刊/学位论文/会议…)
  • 被引次数:td.quote(空白 = 0,网络首发常见)
  • 下载次数:td.download(空白 = 0,网络首发常见)
  • 网络首发:td.name .marktip(存在 "网络首发" 标签)

批量导出到 Zotero:当用户想将结果保存到 Zotero 时,直接从结果页使用批量导出,不要逐篇导航到详情页。结果中的 exportId 等于详情页的 #export-id。调用 cnki-export 技能的批量模式(Step 1B)。详见 cnki-export SKILL.md。

工具调用:2 次(导航 + browser act kind=evaluate)。

适用场景

  • 用户需要查找某一主题的学术论文。
  • 需要获取论文的标题、作者、期刊、日期、被引与下载等元数据。
  • 需要将检索结果批量保存到 Zotero。

限制

  • 依赖 RC 浏览器工具与默认管理的 Chrome(CDP 18800)。
  • 检索过程中可能遇到验证码,此时返回 error: 'captcha'。
  • 仅提取当前页结果,未提供翻页或跨页聚合的说明。
  • 关于收费、价格、平台覆盖范围等未提供更多信息。