本文へ移動
cccskills
無料GitHub で公開

cnki-download

Download a paper PDF/CAJ from CNKI. Requires user to be logged in. Use when user wants to download a specific paper.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

CNKI Paper Download (文献下载)

Prerequisites

User must be logged in to CNKI with download permissions.

Arguments

$ARGUMENTS is optionally a paper detail URL. If blank, uses current page.

Steps

1. Navigate (if URL provided)

If URL provided: use navigate_page to go to the URL directly (no wait_for needed — Step 2 handles waiting).

Important: Always use navigate_page instead of clicking links on the search results page. Clicking opens a new tab and wastes 3 extra tool calls (list_pages + select_page + take_snapshot).

2. Check status and download (single async evaluate_script)

Replace FORMAT with "pdf" or "caj":

async () => {
  // Wait for page load
  await new Promise((r, j) => {
    let n = 0;
    const c = () => {
      if (document.querySelector('.brief h1')) r();
      else if (++n > 30) j('timeout');
      else setTimeout(c, 500);
    };
    c();
  });

  // Captcha check
  const cap = document.querySelector('#tcaptcha_transform_dy');
  if (cap && cap.getBoundingClientRect().top >= 0) {
    return { error: 'captcha', message: 'CNKI 正在显示滑块验证码。请在 Chrome 中手动完成拼图验证。' };
  }

  const format = "FORMAT"; // "pdf" or "caj"

  // Check download links
  const pdfLink = document.querySelector('#pdfDown') || document.querySelector('.btn-dlpdf a');
  const cajLink = document.querySelector('#cajDown') || document.querySelector('.btn-dlcaj a');

  // Check login status
  const notLogged = document.querySelector('.downloadlink.icon-notlogged')
    || document.querySelector('[class*="notlogged"]');
  if (notLogged) {
    return { error: 'not_logged_in', message: '下载需要登录。请先在 Chrome 中登录知网账号。' };
  }

  const title = document.querySelector('.brief h1')?.innerText?.trim()?.replace(/\s*网络首发\s*$/, '') || '';

  if (format === 'pdf' && pdfLink) {
    pdfLink.click();
    return { status: 'downloading', format: 'PDF', title };
  } else if (format === 'caj' && cajLink) {
    cajLink.click();
    return { status: 'downloading', format: 'CAJ', title };
  } else if (pdfLink) {
    pdfLink.click();
    return { status: 'downloading', format: 'PDF', title };
  } else if (cajLink) {
    cajLink.click();
    return { status: 'downloading', format: 'CAJ', title };
  }

  return { error: 'no_download', message: '未找到下载链接', hasPDF: !!pdfLink, hasCAJ: !!cajLink };
}

3. Report

Based on JS result:

  • status: downloading → "PDF 下载已触发:{title}。请在 Chrome 下载管理器中查看。"
  • error: not_logged_in → tell user to log in
  • error: captcha → tell user to solve captcha

Tool calls: 1–2 (navigate_page if URL + evaluate_script)

Verified selectors

ElementSelectorNotes
PDF download#pdfDown<a> inside li.btn-dlpdf
CAJ download#cajDown<a> inside li.btn-dlcaj
Download area.download-btnsparent <div>
Not logged in.downloadlink.icon-notlogged
Title.brief h1strip trailing "网络首发"

Captcha detection

Check #tcaptcha_transform_dy element's getBoundingClientRect().top >= 0. Only active when top >= 0 (visible). Pre-loaded SDK sits at top: -1000000px.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Perform advanced search on CNKI with field filters like author, title, journal, date range, source category (SCI/EI/CSSCI/北大核心). Use when user needs precise filtered search beyond simple keywords.

日本語の概要は準備中です。原文の説明を表示しています。

cookjohn/cnki-skills9892026年3月13日 更新

Export paper from CNKI and push to Zotero, or save as RIS file. Use when user wants to save a paper to Zotero or export citation data.

日本語の概要は準備中です。原文の説明を表示しています。

cookjohn/cnki-skills9892026年3月13日 更新

Query journal indexing/inclusion status on CNKI - check which databases include a journal (北大核心, CSSCI, CSCD, SCI, EI, etc.), get impact factors and evaluation data. Use when user asks about a journal's level, indexing, or ranking.

日本語の概要は準備中です。原文の説明を表示しています。

cookjohn/cnki-skills9892026年3月13日 更新

Search for journals/publications on CNKI by name, ISSN, CN, or sponsor. Use when the user wants to find a specific journal or browse publications.

日本語の概要は準備中です。原文の説明を表示しています。

cookjohn/cnki-skills9892026年3月13日 更新

Browse journal issues, view table of contents, and download original TOC PDF from CNKI. Use when user wants to see papers in a specific journal issue or download the original cover/TOC pages.

日本語の概要は準備中です。原文の説明を表示しています。

cookjohn/cnki-skills9892026年3月13日 更新

Navigate CNKI search result pages (next/previous/specific page) or change sort order. Use when user wants to see more results or change sorting.

日本語の概要は準備中です。原文の説明を表示しています。

cookjohn/cnki-skills9892026年3月13日 更新

cookjohn のスキルをすべて見る

このスキルの問題を報告する