乐于分享
好东西不私藏

开源项目分享:批量下载上市公司年报、半年报、季报的小工具

开源项目分享:批量下载上市公司年报、半年报、季报的小工具

最近在整理上市公司年报资料时,遇到一个很现实的问题:
如果只看一两家公司,手动去网上下载还可以;但如果想批量阅读、分析多家公司,就会非常麻烦。
比如做价值投资研究时,可能需要下载:
  • 某家公司过去几年的年报;
  • 几家公司同一年份的年报、半年报、季报;
  • A股、港股公司的公告资料;
  • 后续再用 PDF 工具、表格提取工具或 AI 工具进一步分析。
这些工作的第一步,往往就是:先把报告批量下载下来。

 这次分享的工具

项目地址:
https://github.com/mosesyyoung/CnInfoReports
这是一个基于 Python 的巨潮资讯网公告下载工具,可以从巨潮资讯网批量下载上市公司公告 PDF。
目前支持的功能包括:
  • 支持 A 股、港股等市场;
  • 支持年报、半年报、季报等公告分类筛选;
  • 支持按时间范围下载;
  • 支持多线程下载;
  • 下载后会按股票代码自动分类保存;
  • 可以通过配置股票代码列表,批量下载指定公司的报告。
对于经常需要阅读上市公司公告、年报、半年报、季报的人来说,这类工具还是挺实用的。

为什么我会关注这个工具?

之前我尝试直接用 AI 写巨潮资讯网的下载接口,但生成出来的代码经常不对,接口参数不对,多次让其修复未果。
后来找到这个老项目,发现它把核心问题解决了:
可以真正从巨潮资讯网批量查询并下载公告 PDF。
当然,因为项目比较老,直接运行时也遇到了一些问题。为了把它跑通,我顺手修了几个 patch,并整理了 README,方便后续自己使用,也方便有类似需求的人参考。

基本用法

安装依赖后,直接运行:
python CnInfoReports.py
具体下载哪些公司、哪些年份、哪些类型的公告,可以根据 README.md 修改配置。
例如:
  • 下载某几家公司过去几年的年报;
  • 下载指定年份的季报;
  • 搜索包含某个关键词的公告;
  • 下载港股公司的公告资料。
代码本身不复杂,如果遇到问题,也可以直接读代码调整。

适合什么人?

我觉得这个工具比较适合几类人:
第一类是做价值投资研究的人。
年报、半年报、季报是最基础的资料来源,批量下载可以节省很多重复劳动。
第二类是做财务数据分析的人。
如果后续要做 PDF 解析、表格提取、指标计算,第一步也需要先拿到原始报告。
第三类是想学习 Python 爬取公开公告数据的人。
这个项目不算复杂,适合当作一个小型实战项目阅读。

 后续想法

以后我会不定期分享一些开源项目,主要是两类:一类是我觉得有趣的项目;另一类是确实有用的项目。
这些项目我会确认跑通、包括修复、增强等,如果只是简单工具,就写成文章分享;如果后续做了 Demo,我会放到自己的网站上。
这篇先从“批量下载年报”这个小工具开始。