前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >脱贫利器 | PYTHON多线程行情抓取工具实现

脱贫利器 | PYTHON多线程行情抓取工具实现

作者头像
小小科
发布2018-05-03 13:53:07
1.3K0
发布2018-05-03 13:53:07
举报
文章被收录于专栏:北京马哥教育北京马哥教育

思路

借助python当中threading模块与Queue模块组合可以方便的实现基于生产者-消费者模型的多线程模型。Jimmy大神的tushare一直是广大python数据分析以及业余量化爱好者喜爱的免费、开源的python财经数据接口包。

平时一直有在用阿里云服务器通过tushare的接口自动落地相关财经数据,但日复权行情数据以往在串行下载的过程当中,速度比较慢,有时遇到网络原因还需要重下。每只股票的行情下载过程中都需要完成下载、落地2个步骤,一个可能需要网络开销、一个需要数据库mysql的存取开销。2者原本就可以独立并行执行,是个典型的“生产者-消费者”模型。

基于queue与threading模块的线程使用一般采用以下的套路:

相关接口

1,股票列表信息接口
  • 作用 获取沪深上市公司基本情况。属性包括:
  • 调用方法
  • 返回效果
2,日复权行情接口
  • 作用 提供股票上市以来所有历史数据,默认为前复权,读取后存到本地,作为后续分析的基础
  • 调用方法
  • 返回结果

实现

废话不多说,直接上代码,

  • 生产者线程,读取行情
  • 消费者线程,本地存储
  • 定义主线程
  • 执行效果 原本需要2,3个小时才能执行完成的每日复权行情增量落地,有效缩短至了1小时以内,这里线程数并不上越多越好,由于复权行情读的是新浪接口,在高并发情况下会返回HTTP 503服务器过载的错误,另外高并发下可能需要使用IP代理池,下载的时段也需要尝试多个时段进行。初次尝试,如果有更好的方法或者哪里有考虑不周的地方欢迎留言建议或者指正。

作者:dudubird85 来源:http://www.jianshu.com/p/2e8cc91f802b


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1,股票列表信息接口
  • 2,日复权行情接口
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档