长久以来,Tushare一直以固定的Python SDK方式为大家提供数据服务。

虽然在基于Python的数据分析和Python的量化策略开发很方便,但习惯用其他语言的同学们表示了“抗议”,于是在Tushare的Github开发组里,衍生出了各种语言版本的Tushare,比如Ruby Tushare,nodejs Tushare...

尽管多出了不少版本,但数据还是不能统一管理,Tushare的数据标准没有建立起来。

于是,我们在最近发布的Tushare Pro版里,增加对HTTP RESTful API的支持,用户可以通过标准协议,获得想要的数据,而且与编程语言无关。

HTTP API说明

在tushare.pro网站上,我们在平台介绍的“调取数据”部分,已经对http协议的数据获取做了说明,这里再次详细的向大家介绍一下,尽量让大家多一点的了解如何通过http的方式获取Tushare数据。

Tushare HTTP数据获取的方式,我们采用了post的机制,通过提交JSON body参数,就可以获得您想要的数据。具体参数说明如下:

输入参数

api_name:接口名称,比如stock_basic

token :用户唯一标识,可通过登录pro网站获取

params:接口参数,如daily接口中start_date和end_date

fields:字段列表,用于接口获取指定的字段,以逗号分隔,如"open,high,low,close"

输出参数

code: 接口返回码,2002表示权限问题。

msg:错误信息,比如“系统内部错误”,“没有权限”等

data:数据,data里包含fields和items字段,分别为字段和数据内容

以下,我们从几个方面来介绍具体的使用过程。

API工具快速检测

如果想简单快速获得数据API的效果,检测一下可用性,又不想写代码的话,postman这个工具或许可以派上用场。

运行postman,选择POST方式,在API地址栏里输入:http://api.waditu.com ,然后在下面点击body,输入json格式的参数。

之后,点击“Send”按钮,我们可以在结果栏目里看到调取API的最终效果。

代码快速检测

有的程序员可能更喜欢用代码的方式来检查API的效果,更加直接,简单,高效。我们可以借助cURL工具来实现通过命令行方式来检测。

curl -X POST -d '{"api_name": "stock_basic", "token": "xxxxxxxx", "params": {"list_stauts":"L"}, "fields": "ts_code,name,area,industry,list_date"}' http://api.waditu.com

(按住屏幕滑动可浏览全部代码)

在控制台执行后,我们就可以看到如下数据效果。

{

"code": 0,

"msg": null,

"data": {

"fields": [

"ts_code",

"name",

"area",

"industry",

"list_date"

],

"items": [

[

"000001.SZ",

"平安银行",

"深圳",

"银行",

"19910403"

],

[

"000002.SZ",

"万科A",

"深圳",

"全国地产",

"19910129"

],

[

"000004.SZ",

"国农科技",

"深圳",

"生物制药",

"19910114"

],

[

"000005.SZ",

"世纪星源",

"深圳",

"房产服务",

"19901210"

],

[

"000006.SZ",

"深振业A",

"深圳",

"区域地产",

"19920427"

],

[

"000007.SZ",

"全新好",

"深圳",

"酒店餐饮",

"19920413"

],

[

"000008.SZ",

"神州高铁",

"北京",

"运输设备",

"19920507"

]

...

}

}

Python调取示例

前面已经提到,http restful API的好处就是跟编程语言无关,基本上所有编程语言都可以调取。

由于编程环境太多,这里只拿Python作为示例,其他语言的实现,请各位用户自行查找网络资源完成,相信绝大多数会编程的用户都能轻松搞定。

其实Tushare Pro新版的SDK,正是利用http方式来获取数据的,虽然我们也提供了tcp的方式,但是http目前运行良好,稳定性已经得到了验证。

以下就是相关的核心代码,有兴趣的朋友可以访问Tushare 的Github下载完整代码。

def req_http_api(self, req_params):

req = Request(

self.__http_url,

json.dumps(req_params).encode('utf-8'),

method='POST'

)

res = urlopen(req)

result = json.loads(res.read().decode('utf-8'))

if result['code'] != 0:

raise Exception(result['msg'])

return result['data']

def query(self, api_name, fields='', **kwargs):

req_params = {

'api_name': api_name,

'token': self.__token,

'params': kwargs,

'fields': fields

}

if self.__protocol == 'tcp':

data = self.req_zmq_api(req_params)

elif self.__protocol == 'http':

data = self.req_http_api(req_params)

else:

raise Warning('{} is unsupported protocol'.format(self.__protocol))

columns = data['fields']

items = data['items']

return pd.DataFrame(items, columns=columns)

tushare积分怎么获得

本人是做量化投资的,团队转型,换了交易策略,

手头有多个离职同事的闲置转让.

600分:原价50元,仅需39元

1500分:原价150元,仅需109元(售罄)

2000分:原价200元,仅需149元

5000分:原价500元,仅需388元(售罄).

数量不多,需要请连系VX: a56746435 (备注tushare)

如何通过HTTP API 调取tushare的股票数据的更多相关文章

  1. Python使用TuShare将股票数据保存到Oracle数据

    TuShare是个获取股票数据的模块包,我们进行分析,需要将股票数据保存到本地,避免每次都从网上获取,由于本机装有ORCALE,以ORACLE为例介绍如何保存股票数据到本地. 一.大致思路:我们先获取 ...

  2. python财经数据接口包Tushare pro的入门及简单使用方式(大数据,股票数据接口)

    最近在做一个项目,需要用到股票的数据,我在网上查了很久,最终发现在股票数据上面还是tushare比较专业,而且对于将来做金融行业的大数据这一块的,tushare绝对是你的一个好帮手,所以下面我就简单介 ...

  3. python+tushare获取股票和基金每日涨跌停价格

    接口:stk_limit 描述:获取全市场(包含A/B股和基金)每日涨跌停价格,包括涨停价格,跌停价格等,每个交易日8点40左右更新当日股票涨跌停价格. 限量:单次最多提取4800条记录,可循环调取, ...

  4. 免费股票数据API接口

    免费股票数据API接口提供沪深.香港.美国股市信息. 1.沪深股市 2.香港股市 3.美国股市 4.香港股市列表 5.美国股市列表 6.深圳股市列表 7.沪股列表 API文档:https://www. ...

  5. 数据接口-免费版(股票数据API)

    获取股票数据的源头主要有:数据超市.雅虎.新浪.Google.和讯.搜狐.ChinaStockWebService.东方财富客户端.证券之星.网易财经. 数据超市 2016年5月6日更新.根据最近频繁 ...

  6. tushare获取股票每日重要的基本面指标数据,并存入Elasticsearch

    tushare是一个开放的,免费的金融数据平台,包含沪深股票数据,指数数据,基金数据,期货数据,期权数据,债券数据,外汇数据,港股数据,行业经济数据,宏观经济数据以及新闻快讯等特色数据.其中以沪深股票 ...

  7. 使用tushare获取股票实时分笔数据延时有多大

    使用tushare获取股票实时分笔数据延时有多大 前几天分享了一段获取所有股票实时数据的代码,有用户积极留言,提出一个非常棒的问题:如果数据本生的延时非常严重,通过代码获取数据再快又有什么用呢? 一直 ...

  8. 使用tushare获取股票历史数据和实时分笔数据

    使用tushare获取股票历史数据和实时分笔数据   财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据 ...

  9. Tushare金融大数据入门

    Tushare金融大数据社区,是一个免费提供各类金融数据和区块链数据的平台 ,旨在助力智能投资与创新型投资. 积分 数据千万条,积分第一条 目前,提供的数据包含股票.基金.期货.债券.外汇.行业大数据 ...

随机推荐

  1. Dubbo源码学习总结系列一 总体认识

    本文写作时,dubbo最高版本是V2.6.0.  写这篇文章主要想回答以下4个问题: 一.dubbo是什么?完成了哪些主要需求? 二.dubbo适用于什么场景? 三.dubbo的总体架构是什么样的? ...

  2. 源码分析--HashMap(JDK1.8)

    在JDK1.8中对HashMap的底层实现做了修改.本篇对HashMap源码从核心成员变量到常用方法进行分析. HashMap数据结构如下: 先看成员变量: 1.底层存放数据的是Node<K,V ...

  3. ERROR- 开发常见error

    一,数据插入MySql中出现中文乱码 解决办法有: 1.新建数据库选择 create database 'GG' CHARACTER SET 'utf8 ' COLLATE 'utf8_general ...

  4. Ubuntu 服务器Webmin错误的解决

    一:This web server is running in SSL mode. Try the URL https://***********:10000/ instead. 解决方案: 1.ss ...

  5. LeetCode(力扣)——Search in Rotated Sorted Array2 搜索旋转排序数组 python实现

    题目描述: python实现 Search in Rotated Sorted Array2 搜索旋转排序数组   中文: 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0 ...

  6. 第05章 AOP细节

    第05章 AOP细节 1.切入点表达式 1.1 作用 通过表达式的方式定位一个或多个具体的连接点. 1.2 语法细节 ①切入点表达式的语法格式 execution([权限修饰符] [返回值类型] [简 ...

  7. 异常 Cannot resolve class or package

    spring boot yml配置异常Cannot resolve class or package 是因为mvaen设置 pom.xml的文件配置如上,scope 范围指定为runtime,runt ...

  8. centos 6.5 配置阿里云 yum 镜像

    配置国内镜像目的是为了加速软件下载安装速度,参考链接:http://mirrors.aliyun.com/help/centos 备份.养成文件操作前备份的习惯 cd /etc/yum.repos.d ...

  9. Fiddler的详细介绍

    Fiddler的详细介绍 一.Fiddler与其他抓包工具的区别 1.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大.模拟http请求的功能也不够,且firebug常常是需要 ...

  10. 51nod 1661: 黑板上的游戏(sg函数 找规律)

    题目链接 先打一个sg函数的表,找找规律,发现sg函数可以递归求解 打表代码如下 #include<bits/stdc++.h> using namespace std; typedef ...