python读取csmar_Python:爬取上市公司公告-Wind-CSMAR

本文介绍了如何利用Python简化从Wind和CSMAR获取上市公司年报的过程。首先,通过Wind终端导出年报信息,提取公告地址并下载PDF。接着,使用Xpath或正则表达式提取PDF链接并下载文件。对于CSMAR,通过公告分类关联表和公告证券关联表合并信息,生成PDF链接并下载。最后,文章提到爬取公告是文本分析的起点,涉及文本处理、情感分析等后续任务。
摘要由CSDN通过智能技术生成

Stata 连享会   主页 || 视频 || 推文

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

作者: 秦利宾 (厦门大学)

邮箱: qlb150@163.com

目录

1. 背景介绍

目前,上市公司公告主要从巨潮网、上交所以及深交所等网站获取。爬取的步骤分为以下两步,一是获取公告地址,二是通过公告地址下载 PDF 文件。通常来说,获取公告地址比较麻烦。本文将根据 Wind 和 CSMAR 数据库的公告信息简化获取公告地址过程,并下载 PDF 文件,这里以年报为例。

2. 爬取 Wind 上市公司年报

2.1 获取年报地址

首先,打开 Wind 终端,按照公司公告->年度报告->高级检索的步骤检索上市公司年报信息。

年报检索

其次,点击导出列表,将检索到的年报信息导出到 Excel 文件。需要注意的是,Wind 最多导出 9999 条记录。实际操作中,可以通过在检索中设置时间区间分批导出。

下载年报信息

最后,公告标题在 Excel 中是以超链接形式存在,通过 Excel 中的函数 FORMULATEXT() 可以将超链接分解成链接和文本两部分。进一步,可以通过调用 Python 进行拆分,提取公告地址链接。

获取年报地址

def address(str): #定义提取公告地址函数

return str.split('"')[1]

data["公告地址"] = data["公告地址"].apply(address)

2.2 下载年报 PDF 文件

打开年报地址,可以看到年报页面是由年报 PDF 超链接和年报内容两部分组成。其中,PDF 超链接可以通过 Xpath 或 正则表达式 获取。

年报地址内容

#利用Xpath提取年报PDF链接

def pdf_url(url):

html = requests.get(url).text #获取网页源代码

tree = etree.HTML(html) #解析网页

url = tree.xpath("//div[2]/a/@href") #获取PDF链接

return "http://news.windin.com/ns/" + url[0]

data["PDF地址"] = data["公告地址"].apply(pdf_url)

#利用正则表达式提取年报PDF链接

def pdf_url(url):

html &#

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值