关于 report-download
用于下载 A 股和香港股票财报 PDF 的工作流技能,根据股票代码、年份和报告类型搜索并筛选报告,再将文件保存到本地。
主要功能
- 01识别市场并格式化股票代码
- 02按报告类型和年份搜索
- 03从指定来源提取 PDF 链接
- 04筛除摘要等非目标文件
- 05下载 PDF 并返回本地路径
适用场景
- 01获取指定股票的年度报告
- 02查找 A 股季度或中期报告
- 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 股 | 加前缀 SH | 600887 → SH600887 |
以 0 或 3 开头的 6 位数字 | 深圳 A 股 | 加前缀 SZ | 300750 → SZ300750 |
| 1-5 位数字 | 香港 | 补零至 5 位 | 700 → 00700 |
已带 SH/SZ 前缀 | 原样使用 | — | SH600887 |
报告类型映射
| 用户输入 | report_type | A 股搜索关键词 | 香港搜索关键词 | 发布时间 |
|---|---|---|---|---|
| 年报 / 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}
如果未指定年份:先尝试当前年份,再尝试上一年。 如果在雪球上没有搜索结果:
- 使用 同花顺 重试:
site:notice.10jqka.com.cn {formatted_code} {search_keyword} {year}- 也可以尝试使用公司名称,例如:
site:notice.10jqka.com.cn 伊利股份 2024 年度报告
- 也可以尝试使用公司名称,例如:
- 如果仍然没有结果:最后尝试不带任何
site:前缀进行搜索。
步骤 2:提取 PDF 链接
筛选来自受支持来源的 PDF URL:
https://stockn.xueqiu.com/.../*.pdfhttps://notice.10jqka.com.cn/.../*.pdf
步骤 3:识别正确的报告
排除标题中包含以下内容的结果: 摘要、审计报告、公告、利润分配、可持续发展、股东大会、ESG、summary、auditor、dividend、更正、补充、意见、内部控制
优先选择符合以下条件的结果:
- 标题包含报告关键词(例如“年度报告”)且不含“摘要”
- URL 日期最接近预期发布时间
- 如果并列,选择第一个结果
如果没有符合条件的结果:告知用户,并建议核实股票代码、年份和报告类型。
步骤 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 或 FAILEDfilepath:下载文件的绝对路径filesize:文件大小(字节)message:状态消息
向用户报告
成功时: 报告文件路径、大小(以 MB 显示,方便阅读)、股票代码、年份和报告类型。 失败时: 报告错误消息。建议检查 URL 是否可访问、重试或核实输入。