@litou.cjs/stock-data-downloader
v0.1.0
Published
Download Chinese A-share financial reports (annual, semi-annual, quarterly) | 下载 A 股上市公司财务报告
Downloads
566
Maintainers
Readme
Stock Data Downloader | A股财务报告下载工具
一个命令行工具,用于批量下载 A 股上市公司的财务报告(年报、半年报、季报)。
功能特性
- ✅ 多种报告类型: 支持年报、半年报、季报下载
- 🔍 智能搜索: 支持股票代码、公司名称、拼音模糊匹配
- ⚡ 并发下载: 可配置并发数,默认 3 个并发
- 🔄 自动重试: 失败自动重试,支持指数退避
- 📊 进度显示: 实时进度条显示下载状态
- 📝 日志记录: 支持控制台和文件双路日志输出
- ✅ 文件验证: 自动验证 PDF 文件完整性
- 🚫 去重处理: 自动跳过已下载的文件
安装
npm install -g @litou.cjs/stock-data-downloader快速开始
交互式模式
stock-data-downloader程序会提示你输入股票代码或公司名称,然后展示匹配结果供选择。
命令行模式
# 下载贵州茅台最近10年的报告
stock-data-downloader --stock 600519
# 下载平安银行最近5年的报告
stock-data-downloader --stock 平安银行 --years 5
# 指定输出路径和并发数
stock-data-downloader --stock 600519 --output ./reports --concurrency 5
# 详细日志模式
stock-data-downloader --stock 600519 --verbose命令行选项
Options:
-s, --stock <code> 股票代码或公司名称
-y, --years <number> 下载年份数量 (默认: 10)
-o, --output <path> 输出路径 (默认: ./downloads)
-c, --concurrency <number> 并发下载数 (默认: 3)
--timeout <ms> 超时时间(毫秒) (默认: 30000)
-v, --verbose 详细日志模式
-V, --version 显示版本号
-h, --help 显示帮助信息输出文件结构
downloads/
└── 600519_贵州茅台/
├── 600519_贵州茅台_2023_年报.pdf
├── 600519_贵州茅台_2023_半年报.pdf
├── 600519_贵州茅台_2023_Q1报.pdf
├── 600519_贵州茅台_2023_Q3报.pdf
├── 600519_贵州茅台_2022_年报.pdf
└── ...数据源
- 主数据源: 巨潮资讯网 (cninfo.com.cn)
- 官方、权威、完整的 A 股上市公司公告数据
开发
项目结构
src/
├── cli/ # CLI 入口和命令行处理
│ └── index.ts
├── core/ # 核心逻辑
│ ├── downloader.ts # 下载引擎(并发、重试、进度)
│ └── fuzzySearch.ts # 模糊搜索功能
├── datasources/ # 数据源实现
│ └── cninfo.ts # 巨潮资讯网接口
├── utils/ # 工具函数
│ ├── logger.ts # 日志系统
│ ├── progress.ts # 进度条
│ └── fileUtils.ts # 文件工具
└── types/ # TypeScript 类型定义
└── index.ts技术栈
- 语言: TypeScript
- 运行时: Node.js >= 18.0.0
- 主要依赖:
axios: HTTP 请求commander: CLI 框架inquirer: 交互式命令行p-queue: 并发控制cli-progress: 进度条winston: 日志系统pinyin-pro: 拼音转换fs-extra: 文件操作
常见问题
Q: 为什么有些报告下载失败?
A: 可能的原因:
- 网络不稳定:程序会自动重试3次
- 数据源限流:程序内置了速率限制机制
- 文件不存在:部分公司某些季度可能未发布报告
Q: 支持哪些股票市场?
A: 当前版本仅支持 A 股(上交所、深交所)。未来版本计划支持港股和美股。
Q: 如何处理重复下载?
A: 程序会自动检查文件是否已存在,已存在的文件会被跳过。
License
MIT
Author
陈建生
Changelog
v0.1.0 (2026-03-25)
- 初始 MVP 版本发布
- 支持 A 股年报、半年报、季报下载
- 实现模糊搜索功能
- 支持并发下载和自动重试
