经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
金融投资论坛 六区
›
金融学(理论版)
›
量化投资
【爬虫】获取交易所公告信息
楼主
MindGo量化交易
2680
3
收藏
2017-08-31
原文来自:
MindGo量化社区-
【爬虫】获取交易所公告信息
(建议使用电脑查看)
http://quant.10jqka.com.cn/platform/html/article.html#id/89446584/q/mindgo_59547441_733
【导语】在上一篇帖子中,我们小试牛刀,介绍了如何使用简单的爬虫技术,获取到交易所盘后龙虎榜的上榜股票代码列表。在这篇帖子中我们再简单介绍一些如何获取到交易所的上市公司公告信息。
1.背景
市场上有各种资讯网站提供了上市公司公告的信息,且界面美观,方便查看,且在看盘软件的客户端中对应股票下的信息列表也能够看到相应的公告内容,但是这些渠道有一个弱点,那就是信息的即时性较差。为什么即时性较差呢?主要原因是因为这些渠道为了方便浏览者观看信息,往往需要经过一定的预处理过程,比如对公告的分类、对公告信息的整合等步骤。
另外,通过这种方式获取信息,属于被动式的拉取模式,因此更加丧失了实时性,用户无法事先知道公告会在什么时候被放出。当然了,由于交易时间段不是发公告的时间,公告信息对于即时性的要求本身并不高。然而,对于午间公告,如果能够早几分钟获取到发布午间公告的上市公司列表,并大概知道内容是什么,对于规避午后开盘后的风险或者是套利是有一些好处的(我们也已经看到了很多午后一开盘在一分钟内封上涨停的例子)。也能够更好地指定午后的交易方案。
2.意义
其实对于获取上市公司公告这个需求,仅仅依靠手动操作也是可以替代的,比如每天中午休市的时间段不断地刷新交易所网站页面。那么我们为什么还要“自寻麻烦”地去开发这样的工具呢?
首先,自己动手写代码,便于将数据进行本地化存储。数据即财富,数据本地化是后续进行一系列分析工作的基础。
有了第一步数据本地化的基础,我们就能够开展各式各样的分析工作。最简单的,可以通过匹配规则对公告标题做出性质判断,看一看能不能从公告的标题就得到对上市公司的利好利多,比如各类减持公告往往会直接在标题中包含“减持”二字。如果从公告标题无法判断,那么就要着手从公告内容去判断。由于公告的具体内容大都是以PDF格式给出的,那么我们可以尝试通过一些非结构化数据的分析工具从PDF文件中抽取出关键信息,甚至是对公告的全文进行“情感分析”。
另外,通过自定义的代码形式,我们就可以实现一些更加个性化和定制化的小技巧。既然,资讯网站的弊端在于获取公告信息不够及时,我们就能够通过代码自定义每一分钟执行一次,去检查网站是否有公布最新的公告信息。我们也可以通过在代码中添加自定义股票池,指定我们特别关注的几只“自选股”,一旦发现公告信息涉及到我们关注的标的,就及时地进行弹窗预警。
从上面可以看出,有了数据之后,通过定制化,我们能做的有很多。
3.详解
这里,我们首先以获取当前交易所显示的所有公告信息的函数为例解释一下代码的含义,方便小伙伴进一步根据自己的需求修改。
today
:获取了运行当天的日期;
url
:访问的网站域名,在这里我们通过字符串拼接的方式使用了today构成了域名的一部分,这样就能够获取到查询当天的公告信息了;
headers、data
:访问的网站所需要的数据,实际上是我们的浏览器在访问网站所需要发送的数据,否则可能会造成无法访问。
request2url
函数访问目标URL地址,这里使用到了我们之前准备好的数据;
由于从目标服务器获取的数据编码方式与本地的数据编码不一致,因此我们使用decode()方法进行编码转换;
pattern
变量定义了一个正则表达式,用于匹配获取每一条公告;
pattern_result
根据定义的正则表达式,得到了每一条公告信息;
获取公告信息的主要代码就上面大概10行,需要注意的是需要依赖urllib2和urllib包,建议在安装了Anaconda包的Python环境下运行。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
钱学森64
2017-8-31 10:29:42
谢谢分享
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
wupan123898
2017-9-7 19:48:31
去了那个网站,实验了下,貌似不能直接在spyder下运行
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
板凳
MindGo量化交易
2017-9-8 08:49:04
wupan123898 发表于 2017-9-7 19:48
去了那个网站,实验了下,貌似不能直接在spyder下运行
你可以贴一下遇到的问题,这篇文章是在PyCharm环境下运行的,且是Python2
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
栏目导航
量化投资
经管在职博
数据交流中心
经管文库(原现金交易版)
学术道德监督
基金与课题申请
热门文章
CDA 认证考试大纲 2025 重磅更新:一二级考 ...
CDA数据分析师实战:因子分析的业务应用与落 ...
Gemini准确率从21%飙到97%!谷歌只用了这一 ...
Introductory Econometrics: A Modern Appr ...
如盈财女:1.19黄金回踩顺势做多,原油高空 ...
CDA数据分析脱产就业班于2025年12月08日开班 ...
optimization algorithms: ai techniques f ...
兴业研究-库存周期分析
【资料共享】Python入门资料与产品经理学习 ...
《蹒跚前行:1870—2010年全球经济史》【美 ...
推荐文章
【必看】【本版版规,欢迎发悬赏贴求助】
26年寒假天津站|Gemini论文写作&数据分析 ...
2026JG学术冬训营:从Stata初高到Python机器 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群