astock-data-sourcelisted
Install: claude install-skill ZICXR/A-Stock-Skills
# A 股多源数据源管理 Skill (v2.0)
## 何时使用
- 用户需要获取股票数据
- 用户需要稳定的 API 封装
- 用户在住宅网络环境下使用
- 任何需要 A 股数据的 Skill
## ⚠️ 重要更新 (v2.0)
**修复了住宅 IP 数据源被封问题**:
| 优先级 | 数据源 | 实测可用 | 备注 |
|--------|--------|----------|------|
| 1️⃣ | **ifzq gtimg** (腾讯) | ✅ 90%+ | **住宅 IP 首选** |
| 2️⃣ | 新浪 hq.sinajs.cn | ✅ 80%+ | 全市场列表也用这个 |
| 3️⃣ | 东财 push2.eastmoney | ❌ 30% | 经常被封, 仅作备用 |
| 4️⃣ | akshare | ✅ 85% | 聚合源, fallback |
**自动 fallback 机制**:
- 每个数据源连续失败 3 次自动跳过
- 支持多源切换, 不再硬抛"所有数据源失败"
- 修复了 Windows GBK 编码问题
- 修复了 akshare 内部代理问题
## 🏃 快速验证 (网络环境测试)
```bash
# 测试你的网络环境
python main.py healthcheck
# 输出示例:
# === 数据源健康检查 ===
# ✅ ifzq_gtimg
# ✅ sina_hq
# ❌ eastmoney_push2 (被风控, 已自动跳过)
# ✅ sina 全市场: 5028 只
```
## 提供能力
### 行情
- `get-realtime --code X` - 单股实时 (多源)
- `get-realtime-all` - 全 A 股实时 (用新浪)
- `get-kline --code X --days N` - K 线 (用 ifzq)
### 指数
- `get-index-realtime` - 主要指数
- `get-index-kline --symbol X` - 指数 K 线
### 其他
- `get-stock-info --code X` - 股票信息
- `get-news --code X` - 个股新闻
- `healthcheck` - 数据源健康检查
## 使用方式
### 命令行 (新规范)
```bash
# ✅ 正确: 用 --code 命名参数
python main.py get-realtime --code 601991
python main.py get-kline --code 601991 --days 60
# ✅ 正确: --list 列出方法
python main.py --list
# ❌ 旧版 (已废弃): 位置参数
python main.py get-realtime 601991
```
### Python API
```python
from skills.01-infra.astock-data-source.main import (
get_realtime, get_realtime_all, get_kline
)
# 单股 (自动多源 fallback)
quote = get_realtime("601991")
# 全 A 股
all_stocks = get_realtime_all()
# K 线
df = get_