python 通达信自动下载收盘和财务数据

[软件数据]
设置
25582 7 广州龙少 Lv.4 发表于 · 2021-2-9 17:23 显示全部楼层 正序浏览 |
跳转到指定楼层
python 通达信自动下载收盘和财务数据,自动启动通达信,鼠标自动操作:
通达信直接从官网下载免费版,可下载财务数据。
自动识别屏幕尺寸(目前为1440x900、1920x1080、1366*768 三种);
代码 try 下面需替换为自己电脑上通达信的安装目录。

#通达信自动启动下载盘后数据和财务数据
# -*- coding: utf-8 -*-
import subprocess,pyautogui
from time import sleep

pyautogui.PAUSE=1
pyautogui.FAILSAFE=True
k=input('下载完自动关机(默认否,关机_1):')
cc=str(pyautogui.size().width)+'*'+str(pyautogui.size().height)
print(cc)
tdxpt={'buzou':['0免费','1确定','2系统','3盘后数据','4选择日期','5下载','6关闭','7系统','8专业数据','9财务数据','10股票数据','11关闭'],
          '1440*900':[(858,488),(1000,520),(38,10),(90,260),(420,320),(900,626),(1000,626),(38,10),(90,282),(680,600),(1050,600),(1050,646)],
          '1920*1080':[(1100,568),(1200,600),(38,10),(90,242),(703,414),(1120,700),(1200,700),(38,10),(100,263),(930,670),(1240,670),(1244,716)],
          '1366*768':[(820,420),(925,450),(38,10),(85,240),(425,265),(850,548),(928,548),(38,10),(90,260),(664,520),(977,520),(968,564)]}
jc={'buzou':['0下载盘后数据关闭前','1财务数据包前while','2财务数据包前if','3股票数据包前while','4股票数据包前if'],
       '1440*900':[[1005,625,128], [464,600,240],[697,597,128],[832,600,240],[1061,597,128]],
       '1920*1080':[[1205,700,128],[748,674,240],[940,673,128],[1063,674,240],[1253,674,128]],
    '1366*768':[[928,549,128], [471,523,240],[664,522,128],[786,523,240],[976,522,128]]}
try:
    try:
        subprocess.Popen(r'D:\new_tdx\TdxW.exe')  # hp
    except:
        subprocess.Popen(r'E:\Program Files (x86)\new_tdx\TdxW.exe')  # aoc
   
    sleep(3)
    pyautogui.click(tdxpt[cc][0],button='left') #免费
    sleep(0.25)
    pyautogui.click(tdxpt[cc][1]) #确定
    sleep(8)
##下载盘后数据
    pyautogui.click(tdxpt[cc][2]) #系统
    sleep(0.25)
    pyautogui.click(tdxpt[cc][3]) #盘后数据下载
    sleep(0.25)
    pyautogui.click(tdxpt[cc][4]) #选择日期范围
    sleep(0.25)
    pyautogui.click(tdxpt[cc][5]) #开始下载
    sleep(0.25)  # 下面关闭为灰色,等待
    while pyautogui.pixelMatchesColor(jc[cc][0][0],jc[cc][0][1],(jc[cc][0][2],jc[cc][0][2],jc[cc][0][2])): sleep(3)
    pyautogui.click(tdxpt[cc][6]) #关闭
    sleep(0.25)
##下载专业财务数据
    pyautogui.click(tdxpt[cc][7]) #系统
    sleep(0.25)
    pyautogui.click(tdxpt[cc][8]) #专业数据下载
    sleep(8)  #下面没冒号等待,下载为灰色跳出
    while pyautogui.pixelMatchesColor(jc[cc][1][0],jc[cc][1][1],(jc[cc][1][2],jc[cc][1][2],jc[cc][1][2])):
        if pyautogui.pixelMatchesColor(jc[cc][2][0],jc[cc][2][1],(jc[cc][2][2],jc[cc][2][2],jc[cc][2][2])): break
        sleep(3)
    pyautogui.click(tdxpt[cc][9]) #财务数据包
    sleep(0.25)  #下面没冒号等待,下载为灰色跳出
    while pyautogui.pixelMatchesColor(jc[cc][3][0],jc[cc][3][1],(jc[cc][3][2],jc[cc][3][2],jc[cc][3][2])):
        if pyautogui.pixelMatchesColor(jc[cc][4][0],jc[cc][4][1],(jc[cc][4][2],jc[cc][4][2],jc[cc][4][2])):break
        sleep(3)
    pyautogui.click(tdxpt[cc][10]) #股票数据包
    sleep(0.25)
    while pyautogui.pixelMatchesColor(jc[cc][4][0],jc[cc][4][1],(jc[cc][4][2],jc[cc][4][2],jc[cc][4][2])): sleep(3)
    pyautogui.click(tdxpt[cc][11]) #关闭
    print('_____OK_____')
    if k=='1':subprocess.Popen(r'shutdown.exe /s /t 30')  #30秒关机
except:
    print('X 错误:核查 TDX 所在目录')

举报

使用道具 扔鸡蛋 回复

海feng6898
Lv.1
发表于 2021-9-16 09:13 复制 查看全部楼层
能写个详细用法吗?

举报

使用道具 支持 扔鸡蛋 回复

求学新起点
Lv.2
发表于 2021-8-21 16:15 复制 查看全部楼层
能不能自动打开交易账户自动买卖呢?

举报

使用道具 支持 扔鸡蛋 回复

影士888
Lv.2
发表于 2021-8-11 11:09 复制 查看全部楼层
感觉有点技术含量!

举报

使用道具 支持 扔鸡蛋 回复

帅气的AL
Lv.2
发表于 2021-7-15 00:50 复制 查看全部楼层
能开盘自动打开吗

举报

使用道具 支持 扔鸡蛋 回复

山路1506
Lv.2
发表于 2021-7-7 10:05 复制 查看全部楼层
代码写的好!!!
谢谢这样直接分享!!!

举报

使用道具 点亮 支持 扔鸡蛋 回复

里相
Lv.3
发表于 2021-2-19 21:33 复制 查看全部楼层
BAT批处理么?

举报

使用道具 支持 扔鸡蛋 回复

杭州蓝宏
Lv.2
发表于 2021-2-10 09:16 复制 查看全部楼层
怎么用?说个小白能懂的步骤呗

举报

使用道具 支持 扔鸡蛋 回复

您需要登录后才可以回帖 登录

本版积分规则 《理想财富服务协议》《免责声明》

站长推荐 关闭 上一条 /6 下一条
回顶部 到页底
快速回复 返回顶部 返回列表