接口文档.md 3.2 KB

Eastmoney 筹码分布接口文档

启动服务

pip install -r requirements.txt
uvicorn eastmoney_spider:app --host 0.0.0.0 --port 8000

服务启动后,本机访问地址:

http://127.0.0.1:8000

FastAPI 自动文档:

http://127.0.0.1:8000/docs

接口一: GET 查询筹码分布

GET /chip-distribution?stockCode=688605&endTime=2026-05-24

请求参数

参数 类型 必填 说明
stockCode string 股票代码,例如 688605
endTime string 查询日期,支持 YYYY-MM-DDYYYYMMDD

curl 示例

curl "http://127.0.0.1:8000/chip-distribution?stockCode=688605&endTime=2026-05-24"

接口二: POST 查询筹码分布

POST /chip-distribution
Content-Type: application/json

请求体

{
  "stockCode": "688605",
  "endTime": "2026-05-24"
}

curl 示例

curl -X POST "http://127.0.0.1:8000/chip-distribution" ^
  -H "Content-Type: application/json" ^
  -d "{\"stockCode\":\"688605\",\"endTime\":\"2026-05-24\"}"

返回示例

{
  "code": 0,
  "message": "success",
  "data": {
    "stock": "1.",
    "stock_code": "688605",
    "end_time": "2026-05-24",
    "trading_day": "2026-05-22",
    "profit_ratio": "62.35%",
    "average_cost": "39.81",
    "p90_cost_range": ["31.20", "48.90"],
    "p90_concentration_ratio": "22.09%",
    "p70_cost_range": ["35.10", "45.30"],
    "p70_concentration_ratio": "12.70%"
  }
}

外层字段说明:

字段 说明
code 业务状态码,0 表示成功
message 状态说明
data 查询成功时为筹码分布数据,失败时为 null

data 字段说明:

字段 说明
stock 实际使用的市场前缀,0. 为深市,1. 为沪市
stock_code 股票代码
end_time 请求传入的查询日期
trading_day 实际使用的 K 线交易日
profit_ratio 获利比例
average_cost 平均成本
p90_cost_range 90% 成本区间
p90_concentration_ratio 90% 成本区间集中度
p70_cost_range 70% 成本区间
p70_concentration_ratio 70% 成本区间集中度

市场前缀自动识别

接口根据 stockCode 前两位自动判定东方财富 secid 的市场前缀,无需用户传入:

股票代码前缀 市场 secid 前缀
60 沪市主板 1.
68 科创板 1.
11 沪市可转债 1.
13 沪市国债逆回购 1.
5x 沪市基金 & ETF 1.
00 深市主板 0.
30 创业板 0.
12 深市可转债 0.
4x / 8x 北交所 0.

重试与错误处理

  • 网络超时 / HTTP 异常 / 响应格式异常fetch_kline 会重试 5 次,每次间隔 1 秒。
  • 东方财富返回 data:null(极少数情况,例如新规则代码段未覆盖):触发 InvalidStockMarketError,立即抛出,不重试,避免浪费 5 秒。
  • 反爬绕过:底层使用 curl_cffi 随机轮换浏览器 TLS 指纹(Chrome / Safari / Edge 等),并挂快代理隧道换出口 IP。

最终失败时接口返回:

{
  "code": 500,
  "message": "失败原因",
  "data": null
}