查看原文
其他

如何批量下载上海证券交易所上市公司年报

大邓 大邓和他的Python 2022-07-09



一、简介




上海证券交易所上市公司定期报告下载,项目地址 https://github.com/thunderhit/shreport

  • github地址 https://github.com/thunderhit/shreport

  • pypi地址 https://pypi.org/project/shreport



二、安装




  1. pip install shreport



三、功能说明





  1. companys()

  2. 上证所有上市公司名录,公司名及股票代码

  3. :return: 返回DataFrame


  4. download(code, savepath)

  5. 下载上市公司的所有季度报告、半年报、年报pdf文件

  6. :param code: 上市公司股票代码

  7. :param savepath: 存储的路径,建议使用相对路径

  8. :return:


  9. pdfurls(code)

  10. 获取年报文件下载链接

  11. :param code: 股票代码

  12. :return: 年报pdf链接



四、快速入门





一定要先获得cookies后才能使用下面的所有代码,这里先直接看代码使用情况,cookies获取可见文档 五、获取cookies

4.1 获取上证交易所上市公司目录

  1. from shreport import SH


  2. cookies = {"Cookie": '您的cookies'}

  3. sh = SH(cookies)

  4. df = sh.companys()

  5. df.head(10)

Run

  1. - -------- ------

  2. name code

  3. 0 浦发银行 600000

  4. 1 白云机场 600004

  5. 2 东风汽车 600006

  6. 3 中国国贸 600007

  7. 4 首创股份 600008

  8. - -------- ------

代码中的sh.companys()获取的是DataFrame数据类型,所以大家还可以自己存储成excel

  1. df.to_excel('上证交易所上市公司名录.xlsx')

4.2下载某公司所有定期报告文件

绝大多数报告文件名格式

代码

  1. from pathlib import Path

  2. from shreport import SH


  3. cookies = {"Cookie": '您的cookies'}

  4. sh = SH(cookies)

  5. #获取当前代码所在的文件夹路径

  6. cwd = Path().cwd()

  7. #以浦发银行为例股票代码600000

  8. sh.download(code='600000', savepath=cwd)

Run

  1. =======请耐心等待,正在获取600000数据

  2. =======准备获取600000年报文件链接========

  3. =======年报文件链接已获取完毕=============

  4. 已成功下载600000_2000_1.pdf

  5. 已成功下载600000_2000_z.pdf

  6. 已成功下载600000_2000_3.pdf

  7. 已成功下载600000_2000_n.pdf

  8. ......

  9. 已成功下载600000_2019_1.pdf

  10. 已成功下载600000_2019_z.pdf

  11. 已成功下载600000_2019_3.pdf

  12. 已成功下载600000_2000_n.pdf

4.3 获取某公司的所有定期报告url

如果暂时不想下载定期报告pdf文件,可以只得到该公司所有的报告文件链接

  1. from shreport import SH


  2. cookies = {"Cookie": '您的cookies'}

  3. sh = SH(cookies)

  4. #以浦发银行为例股票代码600000

  5. urls = sh.pdfurls(code='600000')

  6. urls

Run

  1. =======准备获取600000年报文件链接========

  2. =======年报文件链接已获取完毕=============

  3. ['http://www.sse.com.cn/disclosure/listedinfo/announcement/c/600000_2000_1.pdf',

  4. 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2002-10-30/600000_2002_3.pdf',

  5. 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2002-08-17/600000_2002_z.pdf',

  6. .......

  7. 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/600000_2002_1.pdf',


  8. 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2019-03-26/600000_2018_n.pdf',

  9. 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2018-10-31/600000_2018_3.pdf',

  10. 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2018-08-30/600000_2018_z.pdf',

  11. 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2018-04-28/600000_2017_n.pdf',

  12. 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2018-04-28/600000_2018_1.pdf']

五、获取cookies

一定要先获得cookies后才能使用所有的代码,获取方法

  1. 浏览器访问http://www.sse.com.cn/disclosure/overview/

  2. 按F12(mac按option+command+I)打开开发者工具的Network

  3. 刷新网页,耐心寻找与www.sse.com.cn有关的任意网址,找到cookies



如果





如果您是经管人文社科专业背景,编程小白,面临海量文本数据采集和处理分析艰巨任务,个人建议学习 《python网络爬虫与文本数据分析》 视频课。作为文科生,一样也是从两眼一抹黑开始,这门课程是用五年时间凝缩出来的。自认为讲的很通俗易懂o( ̄︶ ̄)o,

  • python入门

  • 网络爬虫

  • 数据读取

  • 文本分析入门

  • 机器学习与文本分析

  • 文本分析在经管研究中的应用

感兴趣的童鞋不妨 戳一下《python网络爬虫与文本数据分析》进来看看~



精彩回顾





Python网络爬虫与文本数据分析

如何使用Python快速构建领域内情感词典

Seaborn:一行代码生成酷炫狂拽的数据集可视化

50题matplotlib从入门到精通

30例 | 一文搞懂python日期时间处理

pdfkit | 自动化利器,生成PDF就靠它了

中文文本数据逻辑性分析库

中文文本分析相关资源汇总

cnsenti中文情绪情感分析库

Python全栈-60天精通之路

Python数据分析相关学习资源汇总帖

漂亮~pandas可以无缝衔接Bokeh

综述:文本分析在市场营销研究中的应用

2020年B站跨年晚会弹幕内容分析

YelpDaset: 酒店管理类数据集10+G

Loughran&McDonald金融文本情感分析库


万水千山总是情,给我点好看可好❤

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存