TUSHARE 数据中转站

本站与 tushare 官方文档接口完全兼容:把 SDK 的接口地址指向本站, 其余写法、参数、返回字段都和官方一致,原有代码几乎不用改。

接口地址 

>>> df = pro.daily(ts_code="000001.SZ")
>>> df.head()
     ts_code trade_date  close  pct_chg
0  000001.SZ   20240201   9.51    +2.32
1  000001.SZ   20240131   9.29    -0.75
2  000001.SZ   20240130   9.36    +0.86
3  000001.SZ   20240129   9.28    -1.28
第 1 节

Python SDK 用法

1安装官方 SDK

运行 pip install tushare 安装。

2初始化并照常取数

初始化时把接口地址指向本站,之后所有接口的调用方式、参数、返回的 DataFrame 都与官方一致,直接对照 tushare 官方文档写代码即可。

Python · SDK 完整示例
import tushare as ts

token = "你的token"  # 替换成你购买的 64 位 token
pro = ts.pro_api(token)
pro._DataApi__token = token  # 这一行不能删除
pro._DataApi__http_url = ""  # 指向本站网关

# 之后与官方用法完全一致,例如取平安银行的日线行情:
df = pro.daily(ts_code="000001.SZ",
               start_date="20240101", end_date="20240201")
print(df)

3通用行情 pro_bar

通用行情接口 pro_bar 比较特殊,额外加一个 api=pro 参数即可:

Python · 通用行情 pro_bar 示例
import tushare as ts

token = "你的token"          # 换成你在中转站的 token
pro = ts.pro_api(token)
pro._DataApi__token = token  # 这一行不能删除
pro._DataApi__http_url = ""  # 指向中转站网关

df = ts.pro_bar(ts_code="000001.SZ", adj="qfq",
                start_date="20180101", end_date="20181011",
                api=pro)
print(df)
第 2 节

HTTP POST 用法

curl 示例
curl -X POST /daily \
  -H "Content-Type: application/json" \
  -d '{
    "api_name": "daily",
    "token": "你的token",
    "params": {"ts_code": "000001.SZ",
               "start_date": "20240101",
               "end_date": "20240201"},
    "fields": ""
  }'
Python · requests 示例
import requests

resp = requests.post("/daily", json={
    "api_name": "daily",
    "token": "你的token",
    "params": {"ts_code": "000001.SZ",
               "start_date": "20240101",
               "end_date": "20240201"},
    "fields": "",
})
data = resp.json()
print(data["data"]["items"])
第 3 节

AI 提示词

用 AI(ChatGPT、Claude、Cursor 等)写取数代码时,把下面这段提示词一并发给它, 生成的代码就会自动符合本站的接入规范。

提示词 · 整段复制给 AI
# Tushare 使用强制规范(必须严格执行)

当你在代码中使用 Tushare 库时,**必须**遵守以下初始化与调用规则。
任何违反这些规则的做法都将导致 token 认证失败,进而无法获取数据。

## 1. 固定初始化方式(唯一允许)
所有 Tushare 请求前,必须按如下顺序完成初始化:

```python
import tushare as ts
token = "XXX"                  # 请替换为真实 token
pro = ts.pro_api(token)
pro._DataApi__token = token
pro._DataApi__http_url = ""
```

## 2. 禁止行为
- 禁止使用 ts.set_token()
- 禁止使用 pro.set_token()
- 禁止通过任何其他方式初始化 pro 对象
- 禁止修改 http_url 为其他地址

## 3. 调用示例
正确的调用方式:

```python
import tushare as ts
token = "这里替换为您的token"
pro = ts.pro_api(token)
pro._DataApi__token = token
pro._DataApi__http_url = ""

# 获取日线数据
df = pro.daily(ts_code="000001.SZ", start_date="20240101", end_date="20240701")
print(df)
```

## 4. 注意事项
- 每次新生成代码时,都必须确保上述初始化代码存在
- 不要省略 pro._DataApi__token = token 这一行
- 不要修改 pro._DataApi__http_url 的值
- token 必须使用用户提供的有效 token