CNInfo Reports — CNInfo 报告
v1.0.1从CNInfo(巨潮资讯)使用股票代码CSV批量下载A股正式年报和半年报PDF。支持预览、失败后恢复、强制重新下载和可配置的年份/过滤/超时设置。当用户需要获取、重新获取或检查CNInfo A股上市公司报告PDF时使用。
运行时依赖
安装命令
点击复制技能文档
CNInfo 报告下载器(巨潮资讯报告下载) 批量下载A股上市公司年报/半年报 PDF(数据源:巨潮资讯 cninfo.com.cn)。
何时激活 用户想要下载A-share年度或半年度报告 用户提到 巨潮、cninfo、年报下载、半年报、annual report 用户需要从股票代码列表中批量获取报告 PDF
前置条件 pip install -r requirements.txt
工作流程 确认存在股票 CSV 文件且其第一列包含股票代码(6 位 A 股代码)。如果不确定,先运行 --dry-run 预览匹配结果而不下载。 从技能目录运行命令。 脚本在 SQLite 中跟踪进度,可以在中断后恢复。 运行后检查 runtime/manifest_.csv 和 runtime/logs/cninfo_.log。 仅在调整标题匹配、命名或重置行为时参考 references/filter_rules.md。
命令 正常下载(默认年份 2025): python scripts/run_cninfo_reports.py --stock-csv 预览下载(仅预览,不下载): python scripts/run_cninfo_reports.py --stock-csv --dry-run 指定年份: python scripts/run_cninfo_reports.py --stock-csv --year 2024 强制重新下载(忽略缓存): python scripts/run_cninfo_reports.py --stock-csv --force-redownload
完整的 CLI 选项: 参数 默认值 描述 --year 2025 目标报告年份 --stock-csv 上市公司基础信息.csv CSV 文件,第一列包含股票代码 --output-dir downloads/ PDF 输出目录 --runtime-dir runtime 状态、清单、日志目录 --page-size 20 每页搜索结果数 --sleep-seconds 1.2 请求之间的最小延迟 --timeout-seconds 30 HTTP 超时时间 --max-retries 5 HTTP 重试次数 --dry-run false 预览匹配结果而不下载 --force-redownload false 即使文件存在也重新下载
功能 智能标题过滤 —— 正则表达式匹配正式年度/半年度报告;自动拒绝摘要、英文变体、ESG 报告、通知等。 断点续传 —— SQLite 状态跟踪搜索进度和下载状态;中断后可以恢复。 清单输出 —— runtime/manifest_.csv 包含每个合格报告的完整元数据。 幂等命名 —— {code}_{year}_{kind}.pdf 为主要文件,额外变体添加 _{announcement_id} 后缀。
架构 scripts/ run_cninfo_reports.py # 入口点 cninfo_annual_reports/ cli.py # 参数解析和日志记录 config.py # AppConfig 数据类 service.py # 核心编排逻辑 repository.py # SQLite 状态管理 http_client.py # CNInfo API 和文件下载 models.py # 数据模型 filters.py # 标题评估和正则表达式 references/ filter_rules.md # 详细过滤/重置文档 agents/ openai.yaml # Codex 集成配置
重置 从头开始,删除状态文件: rm runtime/state.db runtime/state.db-wal runtime/state.db-shm