目录

免费股票数据API接口专题15期Pythonjava等多语言获取沪深A股股票基础信息数据实例演示和API接口文档说明

免费股票数据API接口专题(15期):Python、java等多语言获取沪深A股【股票基础信息】数据实例演示和API接口文档说明

​ 近年来,股票量化分析凭借其科学性与系统性,已成为金融科技领域的重要发展方向。作为量化研究的基石,全面、精准的股票数据获取至关重要——无论是反映市场脉搏的实时交易数据、记录历史轨迹的K线数据,还是揭示企业价值的基本面信息,都是构建量化模型的核心要素。我们的核心目标是通过对这些多维度数据的深度挖掘,为投资决策提供数据驱动的科学依据。

在数据获取实践中,我经历过多种技术路线的探索:包括网易财经页面爬虫、申万行业数据采集,以及同花顺问财的数据抓取,也曾使用聚宽等平台的免费API服务。但实践表明,基于爬虫的数据获取方式存在明显的局限性——不仅面临网站反爬机制的持续升级,还受制于页面结构变动导致的维护成本,这些因素都给量化研究的连续性带来挑战。

经过系统性测试与验证,我整理出一套稳定可靠的数据接口解决方案。本文将重点分享这些经过实战检验的数据获取方法,通过Python、JavaScript(Node.js)、Java、C#和Ruby五种主流语言的实现示例,详细演示如何高效获取各类股票数据,助力量化研究者构建稳健的数据基础设施。

1、python

import requests  
  
url = "https://api.zhituapi.com/hs/instrument/000001.SZ?token=ZHITU_TOKEN_LIMIT_TEST"  
response = requests.get(url)  
data = response.json()  
print(data)

2、JavaScript (Node.js)

const axios = require('axios');  
  
const url = "https://api.zhituapi.com/hs/instrument/000001.SZ?token=ZHITU_TOKEN_LIMIT_TEST";  
axios.get(url)  
  .then(response => {  
    console.log(response.data);  
  })  
  .catch(error => {  
    console.log(error);  
  });

3、Java

import java.net.URI;  
import java.net.http.HttpClient;  
import java.net.http.HttpRequest;  
import java.net.http.HttpResponse;  
import java.io.IOException;  
  
public class Main {  
    public static void main(String[] args) {  
        HttpClient client = HttpClient.newHttpClient();  
        HttpRequest request = HttpRequest.newBuilder()  
            .uri(URI.create("https://api.zhituapi.com/hs/instrument/000001.SZ?token=ZHITU_TOKEN_LIMIT_TEST"))  
            .build();  
  
        try {  
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());  
            System.out.println(response.body());  
        } catch (IOException | InterruptedException e) {  
            e.printStackTrace();  
        }  
    }  
}

4、C#

using System;  
using System.Net.Http;  
using System.Threading.Tasks;  
  
class Program  
{  
    static async Task Main()  
    {  
        using (HttpClient client = new HttpClient())  
        {  
            string url = "https://api.zhituapi.com/hs/instrument/000001.SZ?token=ZHITU_TOKEN_LIMIT_TEST";  
            HttpResponseMessage response = await client.GetAsync(url);  
            string responseBody = await response.Content.ReadAsStringAsync();  
            Console.WriteLine(responseBody);  
        }  
    }  
}

5、Ruby

require 'net/http'  
require 'json'  
  
url = URI("https://api.zhituapi.com/hs/instrument/000001.SZ?token=ZHITU_TOKEN_LIMIT_TEST")  
  
http = Net::HTTP.new(url.host, url.port)  
request = Net::HTTP::Get.new(url)  
response = http.request(request)  
data = JSON.parse(response.read_body)  
puts data

返回的数据示例:

{"ei":"SZ","ii":"000001","name":"平安银行","od":"19910403","pc":12.47,"up":13.72,"dp":11.22,"fv":19405571850.0,"tv":19405918198.0,"pk":0.01,"is":0}

股票基础信息

API地址:

描述:依据《股票列表》中的股票代码获取股票的基础信息

更新频率:每日0点

字段名称数据类型字段说明
eistring市场代码
iistring股票代码
namestring股票名称
odstring上市日期(股票IPO日期)
pcfloat前收盘价格
upfloat当日涨停价
dpfloat当日跌停价
fvfloat流通股本
tvfloat总股本
pkfloat最小价格变动单位
isint股票停牌状态(<=0:正常交易(-1:复牌);>=1停牌天数;)

**【温馨提示:】**在上面,所有演示中的API接口Url链接结尾的ZHITU_TOKEN_LIMIT_TEST,均为数据请求token证书,因为这个证书是官方测试证书,仅可用于验证各个接口的有效性,所以这个证书限制了只可请求股票代码为000001的数据,正式环境中是不能使用的,证书是免费申请的: ,替换成自己申请的证书就可以请求任何股票数据了。