mcpField
R
report-download

report-download

github.com/terancejiang文档处理7642 次安装34 周前更新
代码仓库

关于 report-download

用于下载 A 股和香港股票财报 PDF 的工作流技能,根据股票代码、年份和报告类型搜索并筛选报告,再将文件保存到本地。

主要功能

  1. 01识别市场并格式化股票代码
  2. 02按报告类型和年份搜索
  3. 03从指定来源提取 PDF 链接
  4. 04筛除摘要等非目标文件
  5. 05下载 PDF 并返回本地路径

适用场景

  1. 01获取指定股票的年度报告
  2. 02查找 A 股季度或中期报告
  3. 03下载香港股票财报到本地

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/terancejiang/skill_financial_report_download --skill report-download

安装后在 Claude Code 中输入/report-download确认已加载。

附带文件scripts/download_report.py

详细介绍

财务报告 PDF 下载器

从 stockn.xueqiu.com 下载 A 股和香港股票的财务报告 PDF,并以 notice.10jqka.com.cn(同花顺)作为备用来源。两个来源都支持可靠的自动下载。

工作流

Input (stock code, year, report type)
  → Step 0: Parse & detect market
  → Step 1: WebSearch for PDF on stockn.xueqiu.com
  → Step 2: Extract matching PDF URLs
  → Step 3: Identify correct report (filter out summaries, audit reports, etc.)
  → Step 4: Python script downloads PDF to local disk
  → Output: local PDF file path

步骤 0:解析输入

将用户输入解析为以下三部分:

  • stock_code(必填):股票代码
  • year(可选):默认为最新可用年份
  • report_type(可选):默认为年报
市场识别
模式市场格式示例
以 6 开头的 6 位数字上海 A 股加前缀 SH600887 → SH600887
以 0 或 3 开头的 6 位数字深圳 A 股加前缀 SZ300750 → SZ300750
1-5 位数字香港补零至 5 位700 → 00700
已带 SH/SZ 前缀原样使用—SH600887
报告类型映射
用户输入report_typeA 股搜索关键词香港搜索关键词发布时间
年报 / annual年报年度报告annual report次年 3-4 月
中报 / interim中报半年度报告interim report同年 8-9 月
一季报 / Q1一季报第一季度报告(仅限 A 股)同年 4 月
三季报 / Q3三季报第三季度报告(仅限 A 股)同年 10 月

步骤 1:搜索报告

使用 WebSearch 并采用以下查询格式:

A 股: site:stockn.xueqiu.com {formatted_code} {search_keyword} {year} 香港: site:stockn.xueqiu.com {formatted_code} {hk_search_keyword} {year}

如果未指定年份:先尝试当前年份,再尝试上一年。 如果在雪球上没有搜索结果:

  1. 使用 同花顺 重试:site:notice.10jqka.com.cn {formatted_code} {search_keyword} {year}
    • 也可以尝试使用公司名称,例如:site:notice.10jqka.com.cn 伊利股份 2024 年度报告
  2. 如果仍然没有结果:最后尝试不带任何 site: 前缀进行搜索。

步骤 2:提取 PDF 链接

筛选来自受支持来源的 PDF URL:

  • https://stockn.xueqiu.com/.../*.pdf
  • https://notice.10jqka.com.cn/.../*.pdf

步骤 3:识别正确的报告

排除标题中包含以下内容的结果: 摘要、审计报告、公告、利润分配、可持续发展、股东大会、ESG、summary、auditor、dividend、更正、补充、意见、内部控制

优先选择符合以下条件的结果:

  1. 标题包含报告关键词(例如“年度报告”)且不含“摘要”
  2. URL 日期最接近预期发布时间
  3. 如果并列,选择第一个结果

如果没有符合条件的结果:告知用户,并建议核实股票代码、年份和报告类型。

步骤 4:下载 PDF

如有需要,安装依赖项:

pip install requests --break-system-packages

运行下载脚本(位于 ${CLAUDE_PLUGIN_ROOT}/skills/report-download/scripts/download_report.py):

python3 ${CLAUDE_PLUGIN_ROOT}/skills/report-download/scripts/download_report.py \
  --url "<PDF_URL>" \
  --stock-code "<formatted_stock_code>" \
  --report-type "<report_type>" \
  --year "<year>" \
  --save-dir "."
解析输出

脚本会在 ---RESULT--- 和 ---END--- 之间打印结构化内容:

  • status:SUCCESS 或 FAILED
  • filepath:下载文件的绝对路径
  • filesize:文件大小(字节)
  • message:状态消息
向用户报告

成功时: 报告文件路径、大小(以 MB 显示,方便阅读)、股票代码、年份和报告类型。 失败时: 报告错误消息。建议检查 URL 是否可访问、重试或核实输入。

评论

支持 Markdown