← 返回 Skills 市场
yipng05-max

c刊期刊分析

作者 yipng05-max · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
402
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install cjournal-analyzer
功能描述
C刊(CSSCI来源期刊)论文全面分析工具。当用户提供一个具体的C刊期刊名称(如"管理世界"、 "社会学研究"、"经济研究"等)时,自动通过知网(CNKI)查询该期刊最近5年所有期次的文章 目录、作者和摘要信息,并生成专业的Word分析报告。报告包含:选题热点趋势、高频关键词、 研究方法偏好、核心作者群、栏目主题...
使用说明 (SKILL.md)

C刊论文全面分析工具

Phase 1: 确定期刊与CNKI代码

  1. 从用户输入中提取期刊名称
  2. 查询 references/journal_codes.md 获取CNKI代码(如"管理世界"→ GLSJ
  3. 若未收录,用WebSearch搜索 site:navi.cnki.net/knavi/journals "{期刊名}" 从URL提取代码
  4. 向用户确认期刊后继续

Phase 2: 浏览器数据采集

使用Chrome DevTools MCP工具从知网采集数据。

Step 2.1: 打开期刊页

navigate_page → https://navi.cnki.net/knavi/journals/{CODE}/detail

验证码处理:若页面出现"请完成安全验证"或"拖动下方拼图",立即提示用户:

"知网需要安全验证,请在浏览器中完成滑块验证,完成后告诉我。"

等用户确认后,用 navigate_page 重新加载页面。

Step 2.2: 提取期刊基本信息

() => {
  const title = document.querySelector('h3')?.textContent?.trim() || '';
  const info = {};
  document.querySelectorAll('.detailInfo p, .s-info p').forEach(p => {
    const text = p.textContent;
    if (text.includes('主办单位')) info.sponsor = text.split(':')[1]?.trim();
    if (text.includes('ISSN')) info.issn = text.split(':')[1]?.trim();
    if (text.includes('CN')) info.cn = text.split(':')[1]?.trim();
    if (text.includes('出版周期')) info.frequency = text.split(':')[1]?.trim();
    if (text.includes('复合影响因子')) info.cif = text.split(':')[1]?.trim();
    if (text.includes('综合影响因子')) info.aif = text.split(':')[1]?.trim();
  });
  return { title, ...info };
}

也可直接从snapshot中读取基本信息(StaticText节点)。

Step 2.3: 点击"论文"标签并提取年份期次

点击 uid 对应"论文"的链接,等待加载,然后提取:

() => {
  const results = [];
  document.querySelectorAll('dl[id$="_Year_Issue"]').forEach(dl => {
    const year = dl.querySelector('dt em')?.textContent?.trim();
    if (!year) return;
    const issues = [];
    dl.querySelectorAll('dd a').forEach(a => {
      issues.push({ id: a.id, issue: a.textContent.trim(), value: a.getAttribute('value') });
    });
    results.push({ year: parseInt(year), issues });
  });
  return results;
}

筛选最近5年数据(当前年份 - 4 至当前年份)。若知网分页显示年份(每页显示部分年份),需翻页加载更多。

Step 2.4: 逐期采集文章列表

对每个期次,点击对应的期次链接(通过 click uid 或 evaluate_script 模拟点击),等待文章列表加载(wait_for 等待标题出现或等1-2秒),然后提取:

() => {
  const articles = [];
  document.querySelectorAll('#CatalogList dd.row').forEach(dd => {
    const titleEl = dd.querySelector('span.name a');
    const authorEl = dd.querySelector('span.author');
    const pageEl = dd.querySelector('span.company');
    const sectionEl = dd.closest('div')?.querySelector('dt.tit');
    if (titleEl) {
      articles.push({
        title: titleEl.textContent.trim(),
        url: titleEl.href,
        authors: authorEl?.getAttribute('title')?.replace(/;$/,'') || '',
        pages: pageEl?.getAttribute('title') || '',
        section: sectionEl?.textContent?.trim() || ''
      });
    }
  });
  return articles;
}

关键

  • 每个期次采集间隔1-2秒,避免触发反爬
  • 持续向用户报告进度(如"正在采集2024年第6期,已完成32/60期...")
  • 所有数据暂存到一个JSON数组中

Step 2.5: 摘要采集(抽样策略)

全量摘要采集耗时极长,采用抽样:每年选取2期(如第1期和第7期),每期取前3篇文章访问摘要页。

访问文章详情页后提取摘要:

() => {
  const abs = document.querySelector('#ChDivSummary, .abstract-text, [name="abstracts"]');
  const kw = document.querySelector('#ChDivKeyWord, .keywords');
  return {
    abstract: abs?.textContent?.trim() || '',
    keywords: kw?.textContent?.replace('关键词:','').trim() || ''
  };
}

若浏览器方式受阻,用WebSearch搜索 "{文章标题}" site:cnki.net 补充摘要和关键词。

Phase 3: 数据分析

采集完成后,将所有数据保存为JSON,然后运行 scripts/analyze_journal.py 进行分析。

该脚本依赖:pip3 install jieba wordcloud python-docx matplotlib numpy

脚本接收JSON数据文件路径,输出分析结果和可视化图表:

  1. 发文量趋势:按年度统计发文数量折线图
  2. 高频关键词Top30:jieba分词 → 去停用词 → 词频统计 → 柱状图+词云
  3. 主题聚类:基于高频词共现进行粗粒度主题归类
  4. 栏目分析:各栏目发文占比饼图及趋势变化
  5. 核心作者Top20:发文频次柱状图
  6. 研究方法识别:从标题中匹配方法关键词(实证/案例/实验/模型/仿真/调查/访谈/文献计量/元分析/回归/面板数据/DID/RDD/PSM/机器学习/深度学习/SEM/扎根理论等)
  7. 热点演变:前3年 vs 近2年的关键词对比,识别新兴/衰退主题
  8. 研究空白与投稿建议:基于以上分析综合给出

Phase 4: 生成Word报告

使用python-docx生成格式化报告,结构:

封面:《{期刊名}》近五年({起始年}-{结束年})发文分析报告

一、期刊概况
二、发文量与趋势分析(含图表)
三、选题热点分析(含词云图、高频词柱状图)
四、热点演变与新兴主题
五、核心作者群分析
六、研究方法偏好分析
七、栏目主题分析
八、研究空白与投稿建议
附录:完整文章目录(按年份-期次排列)

报告保存至 ~/Downloads/{期刊名}_近五年发文分析报告.docx

注意事项

  • 知网有反爬机制,每次请求间隔≥1秒
  • 验证码出现时必须请用户手动完成
  • 安装依赖:pip3 install jieba wordcloud python-docx matplotlib numpy
  • 期刊代码优先查 references/journal_codes.md
  • 采集全程保持进度播报
安全使用建议
This skill appears to do what it says: it scrapes CNKI pages, builds a JSON dataset, runs a local Python analysis, and writes a Word report. Before installing or running it, consider: 1) Legal/ToS: scraping CNKI may violate their terms of service or access controls—ensure you have the right to scrape and respect copyright. 2) Access: CNKI may require institutional login or additional verification; the skill does not include credential handling and asks you to solve CAPTCHAs manually—do not paste credentials into chat. 3) Dependencies: you'll need to run pip3 install for several Python packages; review these packages and install them in a controlled environment (virtualenv). 4) Privacy: the skill will visit and extract content from CNKI and may use WebSearch fallbacks; review whether exposing article titles/abstracts to your agent is acceptable. 5) Code audit: the provided Python script appears benign and local, but part of it was truncated in the manifest—if you rely on this skill, inspect the full script to confirm no unexpected network calls or writing to unexpected locations. If you need a stricter risk posture, run the script in an isolated environment and avoid providing any login credentials through the agent.
功能分析
Type: OpenClaw Skill Name: cjournal-analyzer Version: 1.0.0 The skill bundle is designed for academic journal analysis but contains a path traversal vulnerability in `scripts/analyze_journal.py`. The script uses the journal title—which can be influenced by external web content or user input—directly in file path construction (`os.path.join`) without sanitization when saving charts and reports. While the behavior is aligned with the stated purpose of scraping CNKI and generating Word documents, the lack of input sanitization on file operations is a high-risk flaw that could allow unauthorized file creation in arbitrary directories. No evidence of intentional malice or data exfiltration was found.
能力评估
Purpose & Capability
Name/description (CNKI/CSSCI journal analysis) matches the included pieces: a journal_codes reference, a browser-driven scraping workflow in SKILL.md, and a local Python analysis/report script. There are no unrelated environment variables, binaries, or cloud credentials requested.
Instruction Scope
SKILL.md explicitly instructs the agent to navigate CNKI pages, extract article lists, and (sample) abstracts, then run a local analysis script and save a Word report. This is within the stated purpose. Note: it relies on automated browsing and scraping and instructs the user to solve CAPTCHAs manually; it also suggests using WebSearch fallbacks. The scraping activity is expected for the purpose but has operational/ToS implications (see guidance).
Install Mechanism
No install spec (instruction-only with an included script). Dependencies are standard Python packages (jieba, wordcloud, python-docx, matplotlib, numpy) and are only suggested via pip. No downloads from untrusted URLs or archive extraction are present in the manifest.
Credentials
The skill requires no environment variables, credentials, or config paths. The Python script operates on local JSON input and writes outputs to an output directory (default ~/Downloads). There are no hidden credential accesses observed.
Persistence & Privilege
Flags indicate normal behavior (always:false, autonomous invocation allowed). The skill does not request persistent/always-on inclusion and does not attempt to modify other skills or system-wide settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install cjournal-analyzer
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /cjournal-analyzer 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
cjournal-analyzer 1.0.0 - Initial release of a comprehensive CSSCI (C刊) journal analysis tool. - Automatically fetches the last 5 years of all articles, authors, and abstracts from CNKI for a specified journal. - Generates a professional Word report covering topic trends, keyword frequency, research methods, core authors, column analysis, research gaps, and submission advice. - Incorporates browser automation for data collection, progress reporting, and user-friendly handling of CNKI verification steps. - Includes Python-based data analysis with visualizations and structured Word report output.
元数据
Slug cjournal-analyzer
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

c刊期刊分析 是什么?

C刊(CSSCI来源期刊)论文全面分析工具。当用户提供一个具体的C刊期刊名称(如"管理世界"、 "社会学研究"、"经济研究"等)时,自动通过知网(CNKI)查询该期刊最近5年所有期次的文章 目录、作者和摘要信息,并生成专业的Word分析报告。报告包含:选题热点趋势、高频关键词、 研究方法偏好、核心作者群、栏目主题... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 402 次。

如何安装 c刊期刊分析?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install cjournal-analyzer」即可一键安装,无需额外配置。

c刊期刊分析 是免费的吗?

是的,c刊期刊分析 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

c刊期刊分析 支持哪些平台?

c刊期刊分析 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 c刊期刊分析?

由 yipng05-max(@yipng05-max)开发并维护,当前版本 v1.0.0。

💬 留言讨论