← ClaudeAtlas

cnki-paper-detaillisted

Extract full paper details from a CNKI paper page including title, authors, affiliations, abstract, keywords, fund, classification. Use when the user needs detailed information about a specific paper.
Jensen-Yao/agents-skills · ★ 0 · AI & Automation · score 68
Install: claude install-skill Jensen-Yao/agents-skills
# CNKI Paper Detail Extraction Extract complete metadata from a CNKI paper detail page. ## Arguments `the user request` is optionally a CNKI paper detail URL (containing `kcms2/article/abstract`). If not provided, assumes the current page is already a paper detail page. ## Steps ### 1. Navigate to the paper page (if URL provided) If `the user request` contains a URL: - Use `chrome-devtools.navigate_page` with the URL. - Use `chrome-devtools.wait_for` with text `["摘要"]` and timeout 15000. ### 2. Check for captcha Use `chrome-devtools.take_snapshot`. If "拖动下方拼图完成验证" found, notify user: > CNKI 正在显示滑块验证码。请在 Chrome 浏览器中手动完成拼图验证,完成后告诉我继续。 ### 3. Extract paper metadata via JavaScript Use `chrome-devtools.evaluate_script` with this function: ```javascript () => { const brief = document.querySelector('.brief'); if (!brief) return { error: 'Paper detail section (.brief) not found' }; // Title const title = brief.querySelector('h1')?.innerText?.trim() ?.replace(/\s*附视频\s*$/, '') // remove "附视频" suffix ?.replace(/\s*网络首发\s*$/, ''); // remove "网络首发" suffix // Authors - first h3.author contains author links with sup tags const authorH3s = brief.querySelectorAll('h3.author'); const authorSection = authorH3s[0]; const authors = []; if (authorSection) { const authorLinks = authorSection.querySelectorAll('a'); authorLinks.forEach(a => { const name = a.innerText?.replace(/\d+$/, '').trim(); const supMatch = a.innerText?.match(/(\d+)$/