用途
cnki-parse-results 用于从当前知网(CNKI)检索结果页面中提取结构化的论文数据。它适用于已经执行过检索、浏览器当前停留在知网结果页的场景,帮助把页面上的论文列表整理为标题、作者、期刊、日期、被引次数等字段。
主要能力
该技能可提取以下字段:
- 序号(number)
- 标题(title)及标题链接(url)
- 导出用加密 ID(exportId,来自复选框 value)
- 作者列表(authors)
- 期刊/来源(journal)
- 出版日期(date)
- 数据库类型(database,如期刊/学位论文)
- 被引次数(citations)
- 下载次数(downloads)
- 是否网络首发(isOnlineFirst)
同时汇总总结果数(totalCount,来自 .pagerTitleCell)与分页信息(pageInfo,来自 .countPageMark,格式如“1/300”)。
使用方式
该技能通过 RC 浏览器工具操作,使用默认管理的 Chrome(CDP 18800),不传入 profile。
-
验证是否在结果页:使用 browser action=snapshot mode=efficient,确认页面包含“条结果”。若没有,则告知用户当前未打开检索结果页。同时检查是否存在验证码(“拖动下方拼图完成验证”),若存在则提示用户手动完成。
-
通过 JavaScript 提取结果:使用 browser action=act kind=evaluate,将给定的异步函数整体放入 fn 参数执行。该函数遍历 .result-table-list tbody tr 各行,读取标题、作者、期刊、日期、数据库类型、被引、下载、网络首发标记等,并返回 papers、totalCount、pageInfo。
-
呈现结果:按编号列表格式输出,包含标题(网络首发时附加“[网络首发]”)、作者(以“; ”连接)、期刊、日期、类型、被引、下载与 URL。
-
回退方案:若 JavaScript 返回为空(DOM 结构变化),改用 browser action=snapshot mode=efficient,手动解析无障碍树,寻找重复模式:复选框 → 序号文本 → 含 kcms2/article/abstract 的标题链接 → 含 kcms2/author/detail 的作者链接 → 含 navi.cnki.net/knavi/detail 的期刊链接 → 日期文本 → 数据库类型文本。
已验证的 DOM 选择器
- 表格:.result-table-list tbody tr(每行一篇论文)
- 复选框:input.cbItem(value 为导出加密 ID)
- 序号:td.seq
- 标题:td.name a.fz14
- 作者:td.author a.KnowledgeNetLink
- 期刊:td.source a
- 日期:td.date
- 数据库类型:td.data
- 被引:td.quote
- 下载:td.download
- 网络首发:td.name .marktip
- 总数:.pagerTitleCell(“共找到 X 条结果”)
- 分页:.countPageMark(“1/300”格式)
适用场景
适用于需要把知网检索结果批量整理为结构化数据的场景,例如文献调研、结果汇总、后续导出或分析前的数据准备。
限制
- 仅适用于当前 Chrome 页面为知网检索结果页(URL 含 kns.cnki.net 且显示“条结果”)的情况。
- 若出现拼图验证码,需用户手动完成,技能本身不处理验证。
- 依赖页面 DOM 结构;若结构变化导致 JavaScript 提取为空,需回退到快照手动解析。
- 关于收费、价格、平台支持范围等信息,资料中暂未提供。