Python配置同花顺全数据接口教程详解

Python配置同花顺全数据接口教程详解

同花顺是国内知名的股票交易软件,其提供了全数据接口(QDII、港股、A股等)供客户端程序调用,但官方并没有提供Python版本的SDK。本文将详细讲解如何使用Python配置同花顺全数据接口,并提供两个示例。

环境准备

在进行配置之前,需要准备好以下环境:

  1. Windows系统(本文以Windows 10为例)
  2. Python 3.x环境
  3. 同花顺客户端软件,并已注册登录

步骤

1. 安装Python第三方库

由于官方没有提供Python版本的SDK,我们需要借助第三方库来调用同花顺全数据接口。以下是需要安装的Python第三方库:

  1. pywinauto:用于自动模拟鼠标键盘输入,从而实现对同花顺客户端进行操作。
  2. 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技术站

(4)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • Python处理CSV文件真的很慢

    【问题标题】:Python processing CSV file really slowPython处理CSV文件真的很慢 【发布时间】:2023-04-06 04:13:02 【问题描述】: 所以我试图打开一个 CSV 文件,读取它的字段并在此基础上修复一些其他字段,然后将该数据保存回 csv。我的问题是 CSV 文件有 200 万行。加快速度的最佳方法…

    Python开发 2023年4月7日
    00
  • Python 自动化常用操作及glob使用大全

    下面我就来详细讲解一下关于“Python 自动化常用操作及glob使用大全”的完整攻略。本文主要介绍如何用Python实现自动化操作,包括文件操作、网络请求、图像处理等,并介绍了使用glob模块查询文件的方法。 一、Python 自动化常用操作 本节主要介绍一些Python自动化操作的示例。 1. 文件操作 创建文件夹 import os os.mkdir(…

    python 2023年5月19日
    00
  • python 包 requests 实现请求操作

    1. 什么是 requests 包 requests 是一个 Python 第三方库,用于发送 HTTP 请求。它非常简单易用,但功能强大,并且具有丰富的请求和响应数据处理能力。 2. 安装 requests 包 为了使用 requests,首先需要安装它。可以使用以下命令在终端或命令提示符中安装: pip install requests 3. 发送 GE…

    python 2023年6月3日
    00
  • python接口测试返回数据为字典取值方式

    下面是Python接口测试返回数据为字典取值方式的攻略: 1. 什么是字典 字典是Python语言中内置的数据类型之一,通过一些键值对(key-value)的方式来存储和组织数据。字典中的键是唯一的,对应的值可以是不唯一的,并且可以是任何数据类型。字典的定义方式为用大括号{}包括起来,键和值之间用冒号:分隔,不同的键值对之间用逗号,分隔。例如: dict1 …

    python 2023年5月13日
    00
  • python中如何写类

    下面我就来详细讲解一下“Python中如何写类”的完整攻略。 1. 类的概念与定义 在Python中,类是一种基础的面向对象编程的概念。类是一组相关的属性和方法的集合,可以用来描述一类同类型的对象。要定义一个类,可以使用class语句。 示例代码: # 定义一个人的类 class Person: # 定义属性 name = "张三" ag…

    python 2023年6月6日
    00
  • Python计算开方、立方、圆周率,精确到小数点后任意位的方法

    Python计算开方、立方、圆周率,精确到小数点后任意位的方法 在Python中,计算开方、立方、圆周率以及精确到小数点后任意位的方法多种,下面将分别进行介绍。 1. 计算开方 Python中计算开方可以使用math库中的sqrt函数,也使用幂运算符(**)。 使用math库 import math x = 16 y = math.sqrt(x) print…

    python 2023年5月14日
    00
  • Python基础之模块详解

    以下是关于“Python基础之模块详解”的完整攻略: 模块详解 Python中的模块是一组相关的函数、类和变量的集合,可以通过导入模块来扩展Python的功能。Python中有很多内置模块,同时也可以通过第三方库来安装和使用其他模块。以下是Python模块的详细说明: 内置模块 Python中的内置模块是指Python自带的模块,可以直接使用,无需安装。以下…

    python 2023年5月13日
    00
  • python3.4中清屏的处理方法

    清屏指的是在终端或命令行窗口中清除当前显示的所有内容。在Python3.4中,清屏有多种实现方法。下面是两个示例: 方法1:使用标准库os模块的system函数 使用os模块的system函数可以执行系统命令,其中包括一些可以清屏的系统命令。在Windows系统下,可以使用cls命令清屏;在Linux或Unix系统下,可以使用clear命令清屏。下面是示例代…

    python 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部