手把手教你用股票查询api查实时股价

做项目或者分析数据时,获取实时股价是常见需求。自己抓网页或者用缓存,更新不及时也容易出错。直接用股票查询api,就可以把最新成交价直接拿到程序里。

实时订阅股价

如果需要在页面或者程序里实时显示股价,WebSocket 是最直观的方式。只要建立连接,把关注的股票代码发送过去,服务器一有更新就会推送过来,不用频繁轮询。

以 AllTick API 为例,它提供的 WebSocket 接口可以订阅多只股票,数据一有变化就会送到程序里:

import websocket
import json

ws_url = "wss://quote.alltick.io/quote-stock-b-ws-api?token=你的Token"

def on_message (ws, message):
    data = json.loads(message)
    print( f"{data['symbol']} 最新价: {data['price']}" )

def on_open (ws):
    subscribe_data = {
        "action" : "subscribe" ,
        "symbol_list" : [
            { "symbol" : "AAPL.US" },
            { "symbol" : "TSLA.US" }
        ]
    }
    ws.send(json.dumps(subscribe_data))

ws = websocket.WebSocketApp(
    ws_url,
    >
    >
)
ws.run_forever()

这样,新成交价就会实时送到程序里,可以直接用在前端页面展示或者做后续分析。

一次性获取最新价格

如果只是想获取某个时间点的最新价,HTTP 接口会更简单。只要传入股票列表,就能拿到当前的成交价格:

import requests
import json

api_url = "https://quote.alltick.io/quote-stock-b-api/transaction-quote"
params = {
    "token" : "你的Token" ,
    "symbol_list" : json.dumps([{ "symbol" : "AAPL.US" },{ "symbol" : "TSLA.US" }])
}

resp = requests.get(api_url, params=params)
for item in resp.json().get( "data" , []):
    print( f"{item['symbol']} 最新价: {item['price']}" )

一次请求就能获取多只股票的最新成交价,适合定时抓取或按需查询。

不同需求下的数据获取方式

使用场景

方法

特点

页面实时展示股价

WebSocket订阅

数据推送,延迟低

批量获取当前价格

HTTP 请求

简单直观,易集成

持续监听多只股票

WebSocket

一次连接即可订阅多只

单次查看某个价格

HTTP 请求

无需保持连接

根据项目需求选择方式:实时展示用 WebSocket,偶尔查最新价用 HTTP 就足够。


请使用浏览器的分享功能分享到微信等