当前位置: 首页 > article >正文

AI 通过python脚本自动化导出交易软件某一天的分笔成交明细

一.背景需求

        打开交易软件,我们想要导出非今日的日线股票成交分笔明细,其实,很麻烦的。你得在日线图上点击某一天的柱状图,然后双击,就会出现当日的成交明细,然后导出。如果你想到导出30天或者1年的数据呢?你难道盯着电脑一步一步的操作?不,我不允许你还不知道用python来处理这种事情,今天就教你们怎么把这些操作,用代码自动化执行,哪怕是交易软件里面的数据,我们也来爬。

二.人工操作视频

        操作步骤-CSDN直播

三.实现步骤

        我们现在了解我们的需求了,就是把上面这个视频操作用python自动化的执行,如果你会的话,就不用往下看了。现在我们分析,如何将上面的步骤自动化处理呢?

        1.柱状图的检测并发送双击按键事件,弹出成交明细弹框

        先将屏幕截图,然后通过像素分析得到柱状图的左上角的像素规律。然后,发送鼠标双击事件。下面是python代码和得到的结果图:

# 跌幅柱状图像素检测
def checkGreenPoint(image, x, y):
    r, g, b = image.getpixel((x, y))
    return (r == 84 and g == 255 and b == 255)

# 涨幅柱状图像素检测
def checkRedPoint(image, x, y):
    r, g, b = image.getpixel((x, y))
    return (r == 255 and g == 61 and b == 61)

# 截取屏幕截图
screenshot = ImageGrab.grab()
# 保存截图到文件,使用活动窗口标题作为文件名
screenshot.save('./screenshot.png')

# 获取图像的宽度和高度
# 打开图像
image = Image.open('./screenshot.png')
width, height = image.size
# 遍历图像的每个像素点
for y in range(height):
    for x in range(width):
        # 获取像素点的RGB值
        r, g, b = image.getpixel((x, y))
        # # 检测跌幅的点
        ## 跌幅柱状图 满足的条件
        checkGreenPoint(image, x, y) and checkGreenPoint(image, x+1, y) and checkGreenPoint(image, x, y+1) \
        and checkGreenPoint(image, x+1, y+1) and not checkGreenPoint(image, x-1, y) and not checkGreenPoint(image, x, y-1) \
        and not checkGreenPoint(image, x-1, y-1) and not checkGreenPoint(image, x+1, y-1) and not checkGreenPoint(image, x-1, y+1)
        # 检测涨幅的点
         ## 涨幅柱状图 满足的条件
        if checkRedPoint(image, x, y) and checkRedPoint(image, x+1, y) and checkRedPoint(image, x, y+1) \
        and checkRedPoint(image, x+2, y) and checkRedPoint(image, x+3, y) and checkRedPoint(image, x+4, y) \
        and checkRedPoint(image, x+5, y) and checkRedPoint(image, x+6, y) and checkRedPoint(image, x+7, y) \
        and not checkRedPoint(image, x+2, y+1) and not checkRedPoint(image, x+3, y+1) and not checkRedPoint(image, x+4, y+1) \
        and not checkRedPoint(image, x+5, y+1) and not checkRedPoint(image, x+6, y+1) and not checkRedPoint(image, x+7, y+1) \
        and not checkRedPoint(image, x+1, y+1) and not checkRedPoint(image, x-1, y) and not checkRedPoint(image, x, y-1) \
        and not checkRedPoint(image, x-1, y-1) and not checkRedPoint(image, x+1, y-1) and not checkRedPoint(image, x-1, y+1):

3b5c56c469ac421a9034884248037e6c.png

        2.弹出成交明细弹窗后,我们需要将弹窗里面的 “操作” 二字坐标捕捉到,然后,继续发送单击事件,进行下一步。刚开始用easyocr 识别中文错别字较多,没用,这里我们用paddleocr来进行中文识别。下面是python代码和结果:

def che

http://www.kler.cn/a/287861.html

相关文章:

  • 2024140读书笔记|《作家榜名著:生如夏花·泰戈尔经典诗选》——你从世界的生命的溪流浮泛而下,终于停泊在我的心头
  • Python爬虫项目 | 一、网易云音乐热歌榜歌曲
  • 通过JS删除当前域名中的全部COOKIE教程
  • Python作业05
  • 网络安全之WINDOWS端口及病毒编写
  • 【解决】Layout 下创建槽位后,执行 Image 同步槽位位置后表现错误的问题。
  • 0基础轻松玩转.NET Web API 8.0【CICD】项目实战
  • FPGA与高速ADC接口简介
  • 谷粒商城实战笔记-275~276-商城业务-订单服务-订单确认页完成
  • 两阶段最小二乘法2SLS和Heckman两阶段回归Stata代码(附示例数据)
  • Hadoop的HA配置与实现(ZooKeeper)
  • 华为设备默认密码
  • 记一次ssh伪终端修改为shell
  • 3.3 语法规则
  • 设计模式--享元模式
  • 春秋云镜(ZZCMS 2023)·CVE-2023-50104
  • 【GPT】Coze使用开放平台接口-【7】Dify 比较篇
  • Git —— 2、配置本地与远程免密仓库免密访问、实操创建本地仓库与上github新仓库关联
  • 龙芯+FreeRTOS+LVGL实战笔记(新)——01准备开发环境
  • 使用Python+docx+sqlite3将Word表格内容写入sqlite表中
  • 洛谷8.30
  • 算法笔记|Day38动态规划XI
  • 【化学方程式配平 / 3】
  • 网络:IPv6
  • C++:结构体变量可以被多个cpp文件共同使用
  • 大数据系统测试——大数据系统解析(上)