【别再到处找免费股票数据API了官方204个接口32篇一次讲透 #06】Python实时行情总报错五档盘口逐笔一次跑通系列别再到处找免费股票数据API了官方204个接口32篇一次讲透连载项目 · 纯 GET 取数 · 仅依赖 requests适用想做盘中策略 / 盘口监控但 tushare 实时接口限频、东方财富网页接口总 403 的读者数据由官方公开接口提供。本篇给沪深A股「实时交易 / 五档盘口 / 逐笔交易 / 全市场快照」9 个端点的分组地图、一次跑通的代码、实时字段与时间戳的坑全部只依赖 requests所有示例均为演示数据不构成投资建议。1. 你将得到什么读完这一篇你能拿走四样东西一张分组地图9 个实时端点按「单票实时 / 全市场快照 / 历史逐笔」分成 3 组一次跑通的代码/hs/real/ssjy拿单票实时/hs/real/five拿五档盘口五档盘口的解法买卖五档是嵌套数组要按档位展开三个真实踩坑点都是第一次用几乎一定会踩的。代码全部自包含复制进.py直接能跑不依赖 numpy / pandas。2. 本篇取数约定全部接口都是GET query 参数token 放在查询串里?tokenxxx统一基址https://api.zhituapi.com代码块里的你的token是占位符换成你的 token 即可所有接口路径均取自官方已验证文档跨篇零重复。3. 9 个端点分 3 组先建立地图。实时行情类一共 9 个端点按用途分组端点用途更新频率单票实时/hs/real/ssjy单票实时交易价 / 量 / 涨跌盘中实时单票实时/hs/real/zbjy单票逐笔交易主买 / 主卖盘中实时单票实时/hs/real/zbjy/{日期}指定日期的逐笔交易回放盘后单票实时/hs/real/time分时成交明细盘中实时单票实时/hs/real/five五档盘口买卖十档盘中实时全市场/hs/public/realall全市场实时快照盘中实时全市场/hs/public/ssjymore全市场实时交易扩展盘中实时全市场/hs/custom/realall自选股实时快照盘中实时全市场/hs/custom/ssjymore自选股实时交易扩展盘中实时4. 核心模板函数importrequests,time BASEhttps://api.zhituapi.comTOKEN你的tokendef_hit_key(d,*cands,defaultNone):ifnotisinstance(d,dict):returndefaultforcincands:ifcindandd[c]notin(None,,-,null):returnd[c]low{str(k).lower():vfork,vind.items()}forcincands:vlow.get(str(c).lower())ifvnotin(None,,-,null):returnvreturndefaultdef_get(path,paramsNone,timeout10,retries2,backoff0.6,defaultNone):q{token:TOKEN}ifparams:q.update(params)lastforiinrange(retries1):try:rrequests.get(BASEpath,paramsq,timeouttimeout)ifr.status_code200:try:returnr.json()exceptValueError:returndefault lastHTTP %s %s%(r.status_code,(r.textor).strip()[:80])exceptExceptionase:last%s: %s%(type(e).__name__,e)ifiretries:time.sleep(backoff*(i1))return{_error:last}# ---------- 封装 ----------deffetch_tick(code):return_get(/hs/real/ssjy,{code:code},default{})deffetch_five(code):return_get(/hs/real/five,{code:code},default{})deffetch_trade(code,dateNone):path/hs/real/zbjy/%s%dateifdateelse/hs/real/zbjyp{code:code}return_get(path,p,default[])deffetch_time(code):return_get(/hs/real/time,{code:code},default[])deffetch_all_market():return_get(/hs/public/realall,default[])deffetch_custom():return_get(/hs/custom/realall,default[])# ---------- 五档盘口展开 ----------deffive_levels(code):dfetch_five(code)ifisinstance(d,dict)and_errorind:returnNone,d[_error]# 买卖五档通常是 bids/asks 嵌套数组bids_hit_key(d,bids,buy,委买,default[])asks_hit_key(d,asks,sell,委卖,default[])return{bids:bids[:5],asks:asks[:5]},None# ---------- 校验 ----------defrun_check():fake{bids:[[1,10.1,1000]for_inrange(5)],asks:[[1,10.2,800]for_inrange(5)]}_origfetch_five fetch_fivelambdac:fake lv,errfive_levels(000001.SZ)fetch_five_origasserterrisNoneandlen(lv[bids])5andlen(lv[asks])5# 日期路径assertfetch_trade(000001.SZ,20240910)isnotNoneprint(校验通过)if__name____main__:run_check()print(-*62)code000001.SZforname,fnin[(单票实时,lambda:fetch_tick(code)),(五档盘口,lambda:fetch_five(code)),(分时成交,lambda:fetch_time(code)),(全市场快照,fetch_all_market),(自选快照,fetch_custom)]:datafn()ifisinstance(data,dict)and_errorindata:print(%-10s - %s%(name,data[_error][:60]))else:print(%-10s - %d 条%(name,len(data)ifisinstance(data,list)else1))5. 跑通示例把上面的代码复制到本地填入你的 token 即可直接运行传入股票代码five_levels展开买卖五档fetch_trade还能拉指定日期的逐笔回放各字段含义见前文各小节。6. 坑与注意事项坑 1实时接口盘中才有数据盘后返回空或昨收快照。/hs/real/ssjy、/hs/real/five都是盘中实时推送收盘后要么返回空、要么返回昨收静态值。做盘后回测别直接调实时接口要用/hs/real/zbjy/{日期}的盘后逐笔回放或用历史行情接口。坑 2五档盘口是嵌套数组档位顺序别反。/hs/real/five返回bids买盘价格从低到高和asks卖盘价格从高到低每档是[档位, 价格, 数量]。做买卖价差要确认买一在bids[0]、卖一在asks[0]别把数组顺序搞反导致价差算负。坑 3全市场快照量大别每次全量拉。/hs/public/realall一次返回全市场几千只股票的实时快照数据量大、频率高的话容易触发限频。做全市场监控建议用/hs/custom/realall自选股子集按需拉别无脑全量轮询。7. 小结与下篇预告本篇把沪深A股 9 个实时端点分成 3 组five_levels展开买卖五档_hit_key处理盘口字段嵌套。下一篇《【别再到处找免费股票数据API了官方204个接口32篇一次讲透 #07】历史分时数据难找分时停板快照一行取》用/hs/latest·/hs/pro·/hs/lup一组接口把历史分时 / 停板价格 / 集合竞价一次取全。8. 免责声明本文仅演示沪深A股实时行情数据的取数方法所有代码示例均为演示数据未含任何真实行情数值不构成投资建议亦不承诺收益。