← 返回
未分类

财报下载

从巨潮资讯网(cninfo.com.cn)下载A股和港股上市公司的年度报告和季度报告PDF。当用户要求下载年报、季报、财报、年报PDF时触发。支持批量下载多年份、多公司。关键词:下载年报、下载财报、下载季报、下载PDF、巨潮资讯、cninfo。
从巨潮资讯网(cninfo.com.cn)下载A股和港股上市公司的年度报告和季度报告PDF。当用户要求下载年报、季报、财报、年报PDF时触发。支持批量下载多年份、多公司。关键词:下载年报、下载财报、下载季报。
SummerJyJimJx
未分类 community v1.0.0 1 版本 100000 Key: 无需
★ 3
Stars
📥 220
下载
💾 0
安装
1
版本
#latest

概述

财报下载 — 巨潮资讯报告下载技能

目的

通过巨潮资讯网公告搜索 API + 浏览器自动化 + 直链下载,自动发现并下载A股(沪市/深市)和港股上市公司的年度报告、季度报告 PDF,无需手动查找 announcementId。

触发条件

当用户请求以下任一操作时触发:

  • 下载XX公司年报/季报/财报
  • 下载某只股票特定年份的报告
  • 批量下载多家公司的财报
  • "帮我下载XX公司2020-2025年报"
  • 支持A股(沪/深/北交所)和港股

交易所路由

交易所数据源说明
----------------------
沪市/深市巨潮资讯 APIcolumn=sse/szse,agent-browser 提取 PDF
港股巨潮资讯 APIcolumn=hke,注意非标准 orgId
北交所东方财富 API巨潮不支持!走东方财富 np-anotice-stock

核心工作流

A股(沪/深) + 港股:巨潮资讯四步法

① API搜索公告 → ② 提取announcementId → ③ 浏览器获取PDF直链 → ④ requests下载PDF

北交所:东方财富两步法

① 搜索公告(art_code) → ② 直接下载PDF(pdf.dfcfw.com)

详见 references/api_params.md 末尾的北交所替代方案。

第一步:通过 API 搜索公告

调用巨潮资讯公告搜索接口获取 announcementId:

POST https://www.cninfo.com.cn/new/hisAnnouncement/query
Content-Type: application/x-www-form-urlencoded; charset=UTF-8

必填参数:

参数说明
-----------------
pageNum"1"页码
pageSize"30"每页条数
columnsse / szse / hke交易所代码
tabName"fulltext"⚠️ 不是 full_text
plate""板块
stock"股票代码,orgId"600519,gssh0600519
searchkey"年报"搜索关键词
seDate"" 或日期范围日期范围精确筛选
isHLtitle"true"高亮标题

搜索策略(按情况选择):

  1. 关键词搜索(A股优先):stock=""searchkey="{公司名} 年报",在结果中过滤 secCode
  2. stock参数搜索(港股必需):stock="{代码},{orgId}"searchkey="年报"(港股不能用 category)
  3. category精确搜索(A股备选):category="category_ndbg_szsh"
  4. 北交所:直接用东方财富API搜索,不走巨潮

> 详见 references/api_params.md

⚠️ A股搜索陷阱: 很多深市/科创板股票用 stock 参数+标准 orgId 格式返回0结果,必须改用公司名模糊搜索。orgId 格式也有多种:纯数字(99000xxx)、GD100xxx、nssc1000xxx 等。

⚠️ "提示性公告"陷阱: 搜索"年度报告"时可能先匹配到"2025年年度报告披露的提示性公告"——这是通知不是年报本身!需排除"提示性"/"提示"关键词,找到真正的年报公告。

获取 announcementId:从响应 JSON 中提取 announcements[].announcementId

⚡ 捷径:adjunctUrl 直连

当使用 stock 参数(非空)进行精确搜索时,API 响应中可能包含 adjunctUrl 字段(如 finalpage/2026-04-30/1225258793.PDF)。此时可直接拼接 PDF 直链,跳过 agent-browser

https://static.cninfo.com.cn/{adjunctUrl}

优先检查 adjunctUrl,有则直连下载;无则走下面的 agent-browser 流程。

第二步:通过浏览器获取 PDF 直链

巨潮资讯公告详情页是 JS 动态渲染的,PDF 链接在 标签中。

使用 agent-browser 获取 PDF 直链:

# 1. 打开详情页
agent-browser open "https://www.cninfo.com.cn/new/disclosure/detail?plate={exchange}&orgId={orgId}&stockCode={code}&announcementId={annId}"

# 2. 等页面加载(⚠️ 巨潮页面用 networkidle 会卡死,改用 load 或直接 sleep 1.5秒)
agent-browser wait --load load

# 3. 提取 PDF 直链
agent-browser eval "document.querySelector('embed')?.src"

PDF 地址格式:https://static.cninfo.com.cn/finalpage/{日期}/{announcementId}.PDF

> ⚠️ 域名是 static.cninfo.com.cn,不是 www.cninfo.com.cn

第三步:直接下载 PDF

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
    'Referer': 'https://www.cninfo.com.cn/',
}

resp = requests.get(pdf_url, headers=headers, timeout=120, stream=True)
resp.raise_for_status()

with open(output_path, 'wb') as f:
    for chunk in resp.iter_content(8192):
        f.write(chunk)

环境依赖

必需

依赖版本要求安装方式用途
--------------------------------
Python≥ 3.9系统安装运行下载脚本
requests≥ 2.28pip install requestsHTTP 请求(API搜索 + PDF下载)
agent-browserlatestnpm install -g agent-browser && agent-browser install巨潮PDF直链提取

可选

依赖用途
------------
playwright东方财富PDF兜底下载(防盗链场景)
asyncioPlaywright 异步支持(Python内置)

安装命令

# Python 依赖
pip install requests

# agent-browser(巨潮PDF提取必需)
npm install -g agent-browser
agent-browser install

# 可选:Playwright 兜底
pip install playwright
playwright install chromium

技能文件

~/.workbuddy/skills/财报下载/
├── SKILL.md                          # 本文件
└── references/
    └── api_params.md                 # API参数详细参考

关联代码模块

技能依赖以下 Python 模块(需放在同一项目目录下):

模块用途
------------
cninfo_downloader.py巨潮资讯(沪/深/港)搜索+下载
annual_report_downloader.py东方财富(北交所)搜索+下载
stock_search.py股票代码/名称智能解析

输出目录规范

默认输出位置

{项目目录}/cninfo_reports/{股票代码}_{公司名}/

例如:cninfo_reports/600519_贵州茅台/2025年报.pdf

文件命名

报告类型文件名示例
------------------------
年报{年份}年报.pdf2025年报.pdf
一季报{年份}Q1.pdf2025Q1.pdf
半年报/中报{年份}Q2.pdf2025Q2.pdf
三季报{年份}Q3.pdf2025Q3.pdf

自定义输出目录

# 巨潮下载器
from cninfo_downloader import CninfoReportDownloader
dl = CninfoReportDownloader(output_dir="/your/path/cninfo_reports")

# 东方财富下载器
from annual_report_downloader import AnnualReportDownloader
dl = AnnualReportDownloader(output_dir="/your/path/cninfo_reports")

两个下载器默认都输出到 cninfo_reports/,可通过 output_dir 参数自定义。

注意事项

  • ⚠️ orgId 格式是关键:深市前缀是 gssz 不是 gszs;部分A股/港股orgId为非标准格式(纯数字/GD/nssc前缀)
  • ⚠️ 港股特殊处理:不能用 category 过滤,必须用 searchkey;orgId可能为纯数字
  • ⚠️ 北交所不支持巨潮:必须走东方财富API,两步即可(搜索→直链下载,无需浏览器)
  • ⚠️ 年报发布年份:2020年年报可能在2021年4月发布,搜索日期范围要扩大
  • ⚠️ PDF 直链域名:巨潮用 static.cninfo.com.cn,东方财富用 pdf.dfcfw.com
  • ⚠️ 搜索结果过滤:排除"提示性公告"、"持续督导"、"摘要"、"修订"、"更正"、"英文"等
  • ⚠️ 季报分类:搜索"年报"时也可能返回季报,需按标题精确分类
  • ⚠️ agent-browser:巨潮页面 wait --load networkidle 会卡死,改用 --load load 或直接 sleep 1.5秒

参考文档

  • references/api_params.md — 完整 API 参数、orgId 格式、交易所代码对照表

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-06-01 13:56 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

professional

Stock Monitor

thirtyfang
全功能智能股票监控预警系统。支持成本百分比、均线金叉死叉、RSI超买超卖、成交量异动、跳空缺口、动态止盈等7大预警规则。符合中国投资者习惯(红涨绿跌)。
★ 101 📥 33,155
professional

A股量化 AkShare

mbpz
A股量化数据分析工具,基于AkShare库获取A股行情、财务数据、板块信息等。用于回答关于A股股票查询、行情数据、财务分析、选股等问题。
★ 200 📥 64,224
professional

All-Market Financial Data Hub

financial-ai-analyst
基于东方财富数据库,支持自然语言查询金融数据,覆盖A股、港股、美股、基金、债券等资产,提供实时行情、公司信息、估值、财务报表等,适用于投资研究、交易复盘、市场监控、行业分析、信用研究、财报审计、资产配置等场景,满足机构与个人需求。返回结果为
★ 134 📥 42,975