mirror of
https://ghfast.top/https://github.com/aeroxw/easy-tdx.git
synced 2026-09-12 14:34:15 +08:00
feat: 增加板块信息(block_info)获取与解析功能
1. 核心模型:增加 TdxBlock dataclass。 2. 协议命令:实现 GetBlockInfoMetaCmd 与 GetBlockInfoCmd。 3. 编解码器:增加 codec/block.py,支持 .dat 板块文件二进制解析。 4. 客户端 API:TdxClient 和 AsyncTdxClient 增加 get_block_info(),支持分片拉取。 5. 测试与验证:增加单元测试 tests/unit/test_block_info.py 及实测脚本。 6. 文档更新:README.md 同步 API 及安装说明。
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
"""实测板块信息获取。"""
|
||||
import sys
|
||||
import pathlib
|
||||
|
||||
# 添加 src 到 path
|
||||
sys.path.insert(0, str(pathlib.Path(__file__).parent.parent / "src"))
|
||||
|
||||
from xmtdx import TdxClient
|
||||
|
||||
def main():
|
||||
print("正在寻找最优服务器...")
|
||||
try:
|
||||
with TdxClient.from_best_host() as c:
|
||||
print(f"已连接到: {c._host}")
|
||||
|
||||
# 尝试获取概念板块 (block_gn.dat)
|
||||
filename = "block_gn.dat"
|
||||
print(f"正在获取 {filename} ...")
|
||||
blocks = c.get_block_info(filename)
|
||||
|
||||
print(f"成功获取 {len(blocks)} 个板块。")
|
||||
|
||||
# 打印前 5 个板块及其前 3 个股票
|
||||
for b in blocks[:5]:
|
||||
print(f"板块名称: {b.name:<12} 股票数: {b.count:<5} 样例: {b.codes[:3]}")
|
||||
|
||||
if not blocks:
|
||||
print("警告:未获取到任何板块数据。")
|
||||
|
||||
except Exception as e:
|
||||
print(f"实测失败: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user