Python配置同花顺全数据接口教程详解
同花顺是国内知名的股票交易软件,其提供了全数据接口(QDII、港股、A股等)供客户端程序调用,但官方并没有提供Python版本的SDK。本文将详细讲解如何使用Python配置同花顺全数据接口,并提供两个示例。
环境准备
在进行配置之前,需要准备好以下环境:
- Windows系统(本文以Windows 10为例)
- Python 3.x环境
- 同花顺客户端软件,并已注册登录
步骤
1. 安装Python第三方库
由于官方没有提供Python版本的SDK,我们需要借助第三方库来调用同花顺全数据接口。以下是需要安装的Python第三方库:
- pywinauto:用于自动模拟鼠标键盘输入,从而实现对同花顺客户端进行操作。
- comtypes:用于Python与COM组件之间的交互,从而实现对同花顺COM组件的调用。
我们可以在Python命令行输入以下命令来安装这两个库:
pip install pywinauto comtypes
2. 启动同花顺客户端软件
在Windows系统中启动同花顺客户端软件。
3. 查找同花顺客户端COM组件
我们需要知晓同花顺客户端COM组件的ProgID。我们可以通过Windows注册表查找实现该组件的DLL文件,在DLL文件中查找ProgID。
在Windows命令行中输入以下命令,查找同花顺客户端COM组件的DLL文件路径:
reg query HKEY_CLASSES_ROOT\CLSID /f {6D8AD9B5-8200-4E76-AAC0-AE7D21D4F85A} /s
输出结果中应该包含以下内容:
HKEY_CLASSES_ROOT\CLSID\{6D8AD9B5-8200-4E76-AAC0-AE7D21D4F85A}\InProcServer32
(默认) REG_SZ C:\WINDOWS\System32\thsBroker.dll
在DLL文件路径中,我们可以找到该组件的ProgID为:thsBroker.ThsBrokerQuote
。
4. Python调用同花顺客户端COM组件
将以下代码保存为.py
文件,并在终端中运行:
import os
import time
import comtypes.client as cc
def quote(code):
app = cc.GetActiveObject("thsBroker.ThsBrokerQuote")
time.sleep(3)
app.CopyDataToClipboard(code)
time.sleep(3)
response = os.popen('wmic process where name="ths.exe" get processid').read().split()[1]
os.system('taskkill /pid ' + response + ' /f')
time.sleep(3)
return cc.GetActiveObject("thsBroker.ThsBrokerQuote")
该函数接受一个股票代码参数并返回该股票实时行情的数据对象。
5. 示例1:获取单个股票的实时行情数据
可以通过以下代码接收单个股票的实时行情:
quote('600519.SH').GetQuotesData()
6. 示例2:获取多个股票的实时行情数据
可以通过以下代码接收多个股票的实时行情:
codes = ['600519.SH', '000651.SZ', '000333.SZ', '601318.SH', '601012.SH']
app = quote(codes[0])
data = [app.GetQuotesData()]
for code in codes[1:]:
app.CopyDataToClipboard(code)
time.sleep(1)
data.append(app.GetQuotesData())
运行以上代码即可获取codes中多个股票的实时行情。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python配置同花顺全数据接口教程详解 - Python技术站