专栏名称: 挖地兔
金融数据采集与挖掘,开启量化金融的第一扇大门。
目录
相关文章推荐
深圳市中级人民法院  ·  盗用身份证,“贷”价惨重! ·  昨天  
深圳市中级人民法院  ·  盗用身份证,“贷”价惨重! ·  昨天  
江西法院  ·  分手后,他开车撞向前女友的现男友...... ·  2 天前  
江西法院  ·  分手后,他开车撞向前女友的现男友...... ·  2 天前  
最高人民检察院  ·  科学测算+精准画像+社会支持,三个维度探索未 ... ·  2 天前  
51好读  ›  专栏  ›  挖地兔

通过http调取Tushare数据

挖地兔  · 公众号  ·  · 2018-10-25 17:20

正文


长久以来,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"


token的获取,请参与之前公众号文章《 开启Pro体验的正确打开方式 》,如需注册用户,可直接点击“阅读原文”完成。


输出参数

  • code :接口返回码

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

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


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


API工具快速检测




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


运行postman,选择POST方式,在API地址栏里输入:http://api.tushare.pro ,然后在下面点击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.tushare.pro
(按住屏幕滑动可浏览全部代码)

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


{
    "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作为示例,其他语言的实现,请各位用户自行查找网络资源完成,相信绝大多数会编程的用户都能轻松搞定。







请到「今天看啥」查看全文