用Python下载上海证券交易所上市公司所有定期报告

一、简介

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

能:

  1. 获取上证交易所所有公司目录

  2. 上市公司历年报告(季报、半年报、年报)

使用演示视频
B站:如何用Python批量下载上交所上市公司的年报pdf文件

二、安装

pip install shreport

三、功能说明

companys()
  上证所有上市公司名录,公司名及股票代码
  :return: 返回DataFrame

pdfurls(code)
  仅获取定期报告pdf下载链接
  :param code:  股票代码
  :return: 年报pdf链接
  
disclosure(self, code)
   获得该公司的股票代码、报告类型、年份、定期报告披露日期、定期报告pdf下载链接, 返回DataFrame
  :param code:  股票代码
  
  
download(code, savepath)
  下载该公司(code)的所有季度报告、半年报、年报pdf文件
  :param code:  上市公司股票代码
  :param savepath:  数据存储所在文件夹的路径,建议使用相对路径
 

四、快速入门

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

五、获取cookies**

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

from shreport import SH

cookies = {"Cookie": '您的cookies'}
sh = SH(cookies)
df = sh.companys()

#将查询结果存储
#df.to_excel('上证交易所上市公司名录.xlsx')

#显示前5条数据
df.head()

Run

name code
浦发银行 600000
白云机场 600004
东风汽车 600006
中国国贸 600007
首创股份 600008

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

绝大多数报告文件名格式

文件 文件名 例子
季度报 公司代码-年份-数字 600000-2000-1.pdf、600000-2000-3.pdf
半年报 公司代码-年份-z 600000-2000-z.pdf
年报 公司代码-年份-n 600000-2000-n.pdf

代码

from pathlib import Path
from shreport import SH

cookies = {"Cookie": '您的cookies'}
sh = SH(cookies)
#获取当前代码所在的文件夹路径
cwd = Path().cwd() 
#以浦发银行为例股票代码600000
sh.download(code='600000', savepath=cwd)

Run

=======请耐心等待,正在获取600000数据
=======准备获取600000年报文件链接========
=======年报文件链接已获取完毕=============
已成功下载600000_2000_1.pdf
已成功下载600000_2000_z.pdf
已成功下载600000_2000_3.pdf
已成功下载600000_2000_n.pdf
......
已成功下载600000_2019_1.pdf
已成功下载600000_2019_z.pdf
已成功下载600000_2019_3.pdf
已成功下载600000_2000_n.pdf

4.3 获取某公司的所有定期报告相关信息

如果暂时不想下载定期报告pdf文件,可以可以先获取某公司的

  • 股票代码
  • 报告类型
  • 年份
  • 定期报告披露日期
  • 定期报告pdf下载链接

结果返回DataFrame

from shreport import SH

cookies = {"Cookie": '您的cookies'}
sh = SH(cookies)


#获取浦发银行披露信息
df = sh.disclosure(code='600000')

#存储数据
#df.to_excel('600000.xlsx')

#前5条信息
df.head()

Run

company code type year date pdf
浦发银行 600000 半年报 2000 2000-07-28 http://www.sse.com.cn/disclosure/listedinfo/announcement/c/600000_2000_1.pdf
浦发银行 600000 第三季度季报 2002 2002-10-30 http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2002-10-30/600000_2002_3.pdf
浦发银行 600000 半年报 2002 2002-08-17 http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2002-08-17/600000_2002_z.pdf
浦发银行 600000 第一季度季报 2002 2002-04-27 http://www.sse.com.cn/disclosure/listedinfo/announcement/c/600000_2002_1.pdf
浦发银行 600000 年报 2001 2002-03-21 http://www.sse.com.cn/disclosure/listedinfo/announcement/c/600000_2001_n.pdf

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

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

from shreport import SH

cookies = {"Cookie": '您的cookies'}
sh = SH(cookies)
#以浦发银行为例股票代码600000
urls = sh.pdfurls(code='600000')
urls

Run

=======准备获取600000年报文件链接========
=======年报文件链接已获取完毕=============
['http://www.sse.com.cn/disclosure/listedinfo/announcement/c/600000_2000_1.pdf',
 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2002-10-30/600000_2002_3.pdf',
 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2002-08-17/600000_2002_z.pdf',
 .......
 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/600000_2002_1.pdf',

 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2019-03-26/600000_2018_n.pdf',
 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2018-10-31/600000_2018_3.pdf',
 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2018-08-30/600000_2018_z.pdf',
 'http://www.sse.com.cn/disclosure/listedinfo/announcement/c/2018-04-28/600000_2017_n.pdf',
 '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

[图片上传失败...(image-e1babe-1587878203272)]

如果

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

  • python入门
  • 网络爬虫
  • 数据读取
  • 文本分析入门
  • 机器学习与文本分析
  • 文本分析在经管研究中的应用

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

更多

?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容

  • 公司年报在哪里下载呢? A股港股年报下载网址整理,如果还有推荐可以在留言区添加哟~ 1.上海上市的公司可以在上海交...
    荔枝_LH阅读 30,114评论 0 5
  • 来源:投行浩浩向前冲 文章以作者自己做的一个小公募项目为例细致的讲解公司债承做的步骤,分别为编制材料阶段、申报阶段...
    授米阅读 15,175评论 0 6
  • 首先说下,找各行各业的行业报告的用途是什么? 如果是for公司的战略决策,或者产品方向,或者市场策略,或者产品设计...
    黑曼巴yk阅读 735评论 0 4
  • 车祸十年来你一直默默支持我。我得意你笑着陪我;我生气你笑着让我。只要你在我心安。 妈曾多次想把你赶走,我都以死逼她...
    燃星阅读 790评论 9 21
  • 今天是什么日子 起床:9:55 就寝:1:30 天气:晴朗 心情:美美哒 纪念日:善待地球日 任务清单 昨日完成的...
    书梦绘影阅读 152评论 0 10