> Source: https://ashareapi.com/docs/guides/python-ashare-quotes/  ·  Markdown version for LLMs / AI agents

教程

# 用 Python 获取 A 股实时行情：3 种方法对比
 三种做法：直接调 HTTP API、装现成数据 SDK、自己爬网页。推荐第一种 —— 不用注册、代码最短、拿到的是实时价；下面给出三种方法的可运行代码与取舍，并写明各自「什么时候别用」。

## 方法一：直接调 HTTP API（推荐）
 免费端点**无需 Key**，一个 GET 请求就能拿到现价、开高低、成交量、成交额与换手率。返回是统一信封 `{ ok, endpoint, tier, elapsed_ms, source, data }`，`data` 是**按日期倒序**的数组，`data[0]` 就是最新一根（当日实时）行情。
 代码只有几行（免费端点不需要任何鉴权头）：

 Python（可直接运行）
```
import requests

r = requests.get(
 "https://api.ashareapi.com/v1/quote",
 params={"code": "sh600667"}, # 市场前缀：sh 沪 / sz 深 / bj 北 / hk 港 / us 美
 timeout=10,
)
body = r.json()
if not body.get("ok"):
 raise RuntimeError(body) # 上游失败会返回 ok=false，且不扣调用次数

bar = body["data"][0] # 最新一根（当日）
print(bar["date"], bar["last"], bar["turnover"])
```

-
 `last` = 最新价 · `open/high/low` = 开高低 · `turnover` = 换手率（%）

-
 `volume` 单位是**手**（×100 = 股）· `amount` 单位是**元**

-
 `date` 是数据日期 —— 休市日不会变成"今天"，别把上一交易日的价当实时价

## 方法二：用现成的数据 SDK（Tushare / AkShare 这类）
 如果你已经在用某个 SDK，不必急着换 —— 它的优势是**函数多、字段全**（分钟线、财报、新闻都在里面）。代价是另外两件事：
 Tushare 需要**注册拿 token + 管理积分**，实时行情是**单独收费的权限**；AkShare **免 token**，但它是抓公开网页的开源库，**上游改版时接口会断**，需要自己升级维护（这是它 issue 区的主要内容）。

 对比：AkShare 的写法（示意）
```
# pip install akshare
import akshare as ak

df = ak.stock_zh_a_spot_em() # 全市场快照，自己筛代码
row = df[df["代码"] == "600667"]
print(row)
```

-
 **什么时候别用 SDK**：只要主流数据（行情/K线/资金/龙虎榜）且不想维护数据管道时 —— 直接调 API 更省事

-
 **什么时候必须用 SDK**：需要**分钟级数据**或新闻/公告/研报全文 —— 我们**不提供**这些（边界写在下面 FAQ）

## 方法三：自己爬行情网页（不推荐，除非没有 API）
 爬网页在"有 API 的时候"是**三重亏**：页面结构随时变（今天能跑明天断）、反爬会拦（限流/验证码/封 IP）、以及数据用途的合规判断落回你自己头上。
 只有一种情况值得：**你要的数据确实没有任何 API**（冷门品种、历史快照之类）。即便如此也建议先找官方数据服务，别从页面开始。

## 三种方法怎么选
 |
| | 对比项 | 直接调 HTTP API | 数据 SDK（Tushare/AkShare） | 自己爬网页

| | 上手成本 | **最低**：一个 GET 请求 | 要装库 / 注册拿 token | 最高：解析页面 + 反爬对抗

| | 实时行情 | **有**（含在免费端点里） | Tushare 需单独权限；AkShare 可拿 | 能，但要自己维护

| | 稳定性 | **多源自动切换 + 缓存** | 上游改版需自己升级 | 页面一改就断

| | 要不要注册 | **不要**（免费端点） | Tushare 要；AkShare 不要 | 不要

| | 分钟级数据 | ❌ 不提供 | ✅ 有 | 看页面

| | 适合场景 | 行情 / K线 / 资金 / 龙虎榜 / 板块 / 财务 | 分钟级、财报明细、新闻研报 | 有特殊数据且无 API

 上手成本
 **最低**：一个 GET 请求
 要装库 / 注册拿 token
 最高：解析页面 + 反爬对抗

 实时行情
 **有**（含在免费端点里）
 Tushare 需单独权限；AkShare 可拿
 能，但要自己维护

 稳定性
 **多源自动切换 + 缓存**
 上游改版需自己升级
 页面一改就断

 要不要注册
 **不要**（免费端点）
 Tushare 要；AkShare 不要
 不要

 分钟级数据
 ❌ 不提供
 ✅ 有
 看页面

 适合场景
 行情 / K线 / 资金 / 龙虎榜 / 板块 / 财务
 分钟级、财报明细、新闻研报
 有特殊数据且无 API

## 常见错误与处理

-
 `429` = 超频：匿名 5 次/分；解一次 PoW 挑战（`GET /v1/challenge`）可提到 60 次/分；付费 Key 按档位（体验版 1 万次起）

-
 `401` = 调了**付费端点**但没带 Key（行情快照/K线/热搜/市场总览/涨跌分布 这 5 个不用 Key）

-
 代码**必须带市场前缀**：`sh600667` / `sz000001` / `bj830799` / `hk00700` / `usAAPL`；只给 6 位数字会取不到

-
 `ok:false` = 上游取数失败：已自动换源，且**不扣调用次数**，重试一次通常就好

-
 休市日与盘中：`date` 字段会告诉你数据是哪一天的（判断逻辑别依赖"今天"）

## 常见问题
 不注册真的能调吗？会被封 IP 吗？
 能。行情快照 / K线 / 热搜 / 市场总览 / 涨跌分布 这 5 个数据端点无需 Key：匿名 5 次/分（每次最多 250 根 K 线、每天最多 10 万条），解一次 PoW 挑战后 60 次/分。正常用途不会被封；短时间大量请求会被限流（HTTP 429），这不是封禁，降频或解挑战即可。

 免费额度够做什么？
 看盘的脚本、小看板、收盘后跑一遍自选股都够（匿名 5 次/分、每次最多 250 根 K 线、每天最多 10 万条；解挑战 60 次/分）。要跑全市场扫描、批量补历史或高频轮询，买断档更合适：体验版 ¥9.9 / 1 万次，标准版 ¥29.9 / 10 万次，专业版 ¥99 / 50 万次，不限量 ¥199/月。

 数据准不准？和我行情软件对不上？
 数据来自多个公开数据通道，同一字段会交叉校验并自动切换。对不上时常见两种原因：① **复权口径** —— 我们返回的是**前复权**价（除权除息日不跳空），若对方用不复权，差异会精确出现在跨除息日的窗口上；② 时间点不同（盘中快照 vs 收盘价）。用 amount / volume 交叉验证最可靠。

 能拿分钟级行情吗？
 不提供。我们做的是日/周/月 K 线与实时快照，**没有分钟线**（历史分钟与实时分钟都没有）。需要分钟级请用专门的 SDK 或数据商 —— 这是我们的边界，明写在这里免得你白试。

 能拿港股、美股吗？
 可以。`code` 带前缀即可：`hk00700`（港股）、`usAAPL`（美股）；行情快照与 K 线都支持。可转债用 `sh113052` / `sz123138` 这种形式。

 最后更新: 2026-09-21
 代码与字段取自线上真实返回（2026-09-21 实测）。限流与错误码见「错误码」页；额度与价格见「定价」页。第三方 SDK 的描述基于其官方文档，以其官方为准。

 接着看

-
[端点清单（32 个端点的参数与示例）](/endpoints)

-
[快速开始（3 步拿到数据）](/docs)

-
[从 Tushare 迁移（接口对照 + 代码改写）](/docs/migrate-from-tushare)

-
[错误码对照](/docs/errors)

 [← 全部教程](/docs/guides)
