2.#技术|Python实现钉钉课程自动签到, opencv+threading+tkinter

Python|用Python实现抢钉钉会议 用python抢钉钉钉会议,纯自动化点击 阅读详情

假期的最后8天开了一门双学位的计算机网课————Android程序设计,从早上8点一直上到下午5点30,不定时的在群里发布课程签到,每次我都倒霉的错过,于是在网上google有没有啥自动签到的东东,可以救救孩子,结果却发现全是上班族的钉钉打卡,算了那就自己搜搜轮子拼装一个吧,哈哈哈哈。遂有此文。


用到的库:

import sys
from time import sleep
import tkinter as tk
import pyautogui
import pyscreeze
import cv2
import threading
import urllib.request as urllib

python实现思路:

  1. 用opencv+pyscreeze扫描屏幕,找到"立即签到"四字所在位置。
  2. 计算中心点,pyautogui调用点击。
  3. 设置扫描屏幕时间,默认为30S扫描一次。
  4. tkinter编一个 丑陋 的可视化页面。

立即签到

"立即签到"按钮长这个样子


话不多说,上代码

import sys
from time import sleep
import tkinter as tk
import pyautogui
import pyscreeze
import cv2
import threading
import urllib.request as urllib

def method1():
    # print("执行了方法1")
    screenScale=1
    target= cv2.imread(r'targe.png',cv2.IMREAD_GRAYSCALE)
    screenshot=pyscreeze.screenshot('./my_screenshot.png')
    temp = cv2.imread(r'my_screenshot.png',cv2.IMREAD_GRAYSCALE)
    theight, twidth = target.shape[:2]
    tempheight, tempwidth = temp.shape[:2]
    print("目标图宽高:"+str(twidth)+"-"+str(theight))
    print("模板图宽高:"+str(tempwidth)+"-"+str(tempheight))
    scaleTemp=cv2.resize(temp, (int(tempwidth / screenScale), int(tempheight / screenScale)))
    stempheight, stempwidth = scaleTemp.shape[:2]
    print("缩放后模板图宽高:"+str(stempwidth)+"-"+str(stempheight))
    res = cv2.matchTemplate(scaleTemp, target, cv2.TM_CCOEFF_NORMED)
    mn_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
    if(max_val>=0.9):
        # 计算出中心点
        top_left = max_loc
        bottom_right = (top_left[0] + twidth, top_left[1] + theight)
        tagHalfW=int(twidth/2)
        tagHalfH=int(theight/2)
        tagCenterX=top_left[0]+tagHalfW
        tagCenterY=top_left[1]+tagHalfH
        #左键点击屏幕上的这个位置
        pyautogui.click(tagCenterX,tagCenterY,button='left')
        print("位置是:",tagCenterX,tagCenterY)
        pyautogui.moveTo(tagCenterX-500, tagCenterY)
    else:print("未发现")

def method2():
    # print("执行了方法2")
    root = tk.Tk()
    root.title('Qust钉钉自动签到')
    root.geometry('480x400')
    index = tk.Label(root, text='开始运行了。。。。', bg='#D3D3D3', font=('微软雅黑', 10))
    index.place(relx=0.25, rely=0.1, relwidth=0.5, relheight=0.15)
    btn1 = tk.Button(root, text='点击停止', bg='#D3D3D3', font=('微软雅黑', 13), command=sys.exit)
    btn1.place(relx=0.25, rely=0.5, relwidth=0.5, relheight=0.15)
    root.mainloop()

def method3():
    # print("执行了方法3")
    while (1 == 1):
        method1()
        sleep(30)#等待30s运行一次,这里你可以自己改

def thread_it():  # 多线程
    thread1 = threading.Thread(target=method3)
    # thread2 = threading.Thread(target=method2)
    thread1.setDaemon(True)
    # thread2.setDaemon(True)
    thread1.start()
    # thread2.start()
    method2()

if __name__ == '__main__':
    urllib.urlretrieve('https://i-blog.csdnimg.cn/blog_migrate/f7241b8065b274ef438f7aeffe8381f4.png','./targe.png')#这里面的地址是“立即签到”这张图片
    root = tk.Tk()
    root.title('Qust钉钉自动签到')
    root.geometry('480x400')

    index = tk.Label(root, text='编不出好看的UI,>0< ...', bg='#D3D3D3', font=('微软雅黑', 10))
    index.place(relx=0.25, rely=0.1, relwidth=0.5, relheight=0.15)
    # 第一个按钮
    btn1 = tk.Button(root, text='点击这里运行就完了', bg='#D3D3D3', font=('微软雅黑', 13), command=lambda:[root.destroy(),thread_it()])
    btn1.place(relx=0.25, rely=0.5, relwidth=0.5, relheight=0.15)
    root.mainloop()

期间踩过的坑有:

  • 1.鼠标点击后会停留在"立即签到"上,遮挡部分字体,影响识别时间,于是设置了点击后鼠标位置自动左移500个像素,遂解决,识别速度嘎嘎快。
    未响应1
  • 2.tkinter 在默认运行主线程时会等待子线程运行完毕才继续,使得程序无响应(如上图),引入多线程后解决。

结果:

最终呈现出来的效果还是非常令人满意的,当天晚上我开了一个小群,不间断的发送了几十条签到,在程序不间断运行6个小时后依然能准确搞定。(虽然python运行就是慢,但抵不住它编的快啊!!!!)

附上截图:
ui

成功

就这样,下次见。

告别忘打卡!用MT管理器+Termux在安卓上实现钉钉自动签到(附Python脚本) 本文详细介绍如何利用MT管理器和Termux在安卓设备上实现钉钉自动签到,无需root权限。通过Python脚本和crontab定时任务,轻松设置上班打卡自动化,解决忘打卡难题。方案稳定可靠,适用于各种安卓机型,显著提升考勤效率。 阅读详情

相关推荐

【Python】selenium自动化打卡

至此,实现功能的代码就完全可以使用了,你可以选择用自己的电脑,设置计划任务来定时执行python脚本,实现自动上报(但是要注意的是,部署到本地电脑上,要保证自己的电脑处于开机和未锁屏状态,即此脚本只能在电脑启动的时候执行,一旦关机或者锁屏,就失效)中有写到,定位字段只能在移动端进行,所以这里需要模拟鼠标操作打开开发者工具,进行设备仿真,并需要使用到Edge浏览器的sensors传感器用来模拟GPS定位,要不然上报的时候显示的是服务器的地址,这里我用的服务器是腾讯位于上海的服务器。.........

奕隆的博客 1697

【亲测免费】 推荐开源项目:DingTalk Check In - 智能钉钉签到助手

是一个由开发者[Zhiping Yang](https://link.gitcode.com/i/e4a4eacdf347c87dda7c8a16931651b9)贡献的开源项目,它是一个智能定时自动签到工具,专为阿里巴巴旗下的企业协作平台——钉钉设计。通过自动化脚本,它可以帮助用户在指定的时间自动完成钉钉的每日签到,从而节省用户的时间和提高效率。 ## 技术分析 该项目基于Python语言编...

gitblog_00086的博客 865

基于Python+OpenCV+MediaPipe的实时跌倒检测系统实战

计算机视觉作为人工智能的重要分支,其核心在于让机器“看懂”图像与视频。其基本原理是通过算法对图像数据进行处理、分析和理解,从而提取出有价值的信息。这项技术的核心价值在于将非结构化的视觉数据转化为可量化、可决策的结构化信息,极大地拓展了机器在感知层面的能力。在工程实践中,通过结合成熟的视觉库与机器学习框架,开发者可以快速构建出解决实际问题的智能应用。人体姿态估计便是其中一项关键技术,它通过检测并定位人体关键骨骼点,为行为分析、人机交互、安防监护等场景提供了基础数据支撑。跌倒检测正是该技术的一个典型应用场景,尤

weixin_30363509的博客 450

【亲测免费】 DingTalk 自动签到插件使用指南

--- ## 1. 项目目录结构及介绍 本项目是基于Python实现的钉钉自动签到工具,其目录结构清晰地展示了各个组件的功能。下面是主要的目录和文件说明: ``` dingtalk_check_in/ │ ├── README.md # 项目简介和快速入门指南 ├── requirements.txt # Python依赖库列表 ├── check_in.p...

gitblog_00360的博客 924

Python GUI自动化实战:基于PyAutoGUI实现微信消息自动发送

GUI自动化是一种通过程序模拟用户界面操作的技术,其核心原理是控制鼠标、键盘等输入设备,并识别应用程序窗口元素。这项技术能够将重复性的人工操作转化为自动化流程,在提升工作效率、减少人为错误方面具有显著价值。在Python生态中,PyAutoGUI库提供了跨平台的GUI自动化能力,结合PyGetWindow进行窗口管理,可以稳定实现桌面应用的自动化操作。常见的应用场景包括自动化测试、数据录入、定时任务执行等。本文聚焦于使用PyAutoGUI和PyGetWindow,详细讲解如何安全合规地实现微信PC版的消息自

weixin_30315723的博客 305

基于OpenCV与face_recognition构建人脸识别考勤系统:从原理到部署

人脸识别作为计算机视觉的核心技术之一,其原理是通过深度学习模型提取人脸的高维特征向量,并利用向量相似度计算进行身份比对。这项技术因其非接触、高准确性和唯一性,在身份验证与自动化管理领域展现出巨大价值,广泛应用于安防、金融支付、智能门禁等场景。本文聚焦于利用Python生态中的OpenCV和face_recognition库,实现一个完整的实时人脸识别考勤系统。系统通过OpenCV的dnn模块高效完成人脸检测,结合face_recognition库进行特征编码与匹配,并整合数据库操作与多线程设计,构建了一套从

weixin_34347651的博客 1098

宝妈技术创业指南:从育儿痛点到数字产品的实战路径

在数字化转型浪潮中,利用技术解决特定场景下的痛点已成为个人创业的重要方向。其核心原理在于将复杂需求通过编程或自动化工具转化为可复用的解决方案,从而创造价值。这种技术驱动的轻创业模式,尤其适合时间碎片化但学习能力强的群体,如寻求个人发展的宝妈。通过掌握Python等编程语言或利用低代码平台,可以将育儿过程中的管理经验(如照片整理、计划制定)转化为自动化脚本或数字产品。这不仅实现了个人技能的变现,更是在实践中保持了技术敏感度。本文以“家庭照片智能整理助手”为例,系统展示了从需求分析、技术选型(使用Pillow库

weixin_33860528的博客 411

基于YOLOv8的宿舍大功率电器检测系统:从数据标注到GUI部署全流程

目标检测是计算机视觉的核心任务之一,旨在识别并定位图像中的特定物体。其原理通常基于深度学习模型,通过卷积神经网络提取特征,并预测目标的边界框和类别。这项技术在安防监控、工业质检、自动驾驶等领域具有重要价值。在宿舍安全管理这一具体应用场景中,实时、准确地识别违规大功率电器成为关键需求。本文聚焦于利用YOLOv8这一先进的目标检测算法,结合PyQt5构建图形界面,实现一个完整的宿舍电器检测系统。项目深入探讨了数据集构建、模型训练调优以及工程化部署的实战经验,为初学者和开发者提供了一个涵盖数据标注、模型训练到应用

weixin_33892359的博客 488

Clawdbot智能桌面自动化实战:国产大模型驱动,自然语言操控电脑

大语言模型(LLM)作为当前人工智能的核心技术,通过理解与生成自然语言,正深刻改变人机交互方式。其原理基于海量数据训练出的Transformer架构,能够进行复杂的语义理解和任务推理。这一技术价值在于将人类的高层意图转化为机器可执行的具体操作,极大地提升了自动化与智能化水平。在工程实践中,LLM被广泛应用于智能体(Agent)系统,通过“感知-规划-执行-反思”的循环,实现对复杂任务的自主分解与执行。应用场景已从简单的问答对话,延伸至桌面自动化、办公流程编排等具体领域。本文聚焦于Clawdbot这一热门开源

410

基于YOLOv8的宿舍大功率电器检测系统:从数据到部署全流程实践

目标检测是计算机视觉的核心任务之一,旨在识别图像或视频中的特定物体并定位其位置。其原理通常基于深度学习模型,通过卷积神经网络提取特征,并预测边界框和类别。这项技术在安防监控、智能交通、工业质检等领域具有重要价值,能够实现自动化、智能化的视觉分析。在校园安全管理这一具体应用场景中,目标检测技术可用于识别特定违规物品,例如宿舍内禁止使用的大功率电器。本文聚焦于利用当前流行的YOLOv8模型,结合PyTorch框架和GUI界面,构建一个完整的宿舍电器检测系统。该系统涵盖了数据集准备、模型训练、可视化界面开发及部署

weixin_34296641的博客 301

python+adb实现安卓手机自动化钉钉打卡功能

实现废旧安卓手机利用,物理打卡,使用python+adb实现对手机钉钉打卡的功能,跳过周末。

Python 钉钉自动打卡脚本

这个脚本使用了requests库来发送HTTP请求,使用json库来处理JSON数据。脚本会每隔一小时自动发送一条打卡消息到钉钉群。

leyang0910的博客 5916

Python-钉钉自动上下班打卡辅助基于Pythonadb实现打卡后自动发送邮件提醒

钉钉自动上下班打卡辅助,基于Python,adb,实现,打卡后自动发送邮件提醒。

利用云函数+Python实现每日网站自动签到并用QQ提醒

利用云函数和Python实现蘑菇丁软件每日自动登录签到 由于怕token失效所以写成了每一次打卡前都要登录获取token一次,经过测试多次登录并不会造成登录异常,账号封禁等影响 Python3.6.2版本 """ 当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢? 学习Python中有不明白推荐加入交流群号:928946953 群里有志同道合的小伙伴,互帮互助, 群里有不错的视频学习教程和PDF! 还有大牛解答! """ import reimport re..

chinaherolts2008的博客 797

RDD2022 数据格式转换与清洗

Rdd2022数据集,是关于道路损伤的数据集,与rdd2020相比增加了两万多张图片但是由于格式不能被yolo直接使用且其中有大量的图片没有符合要求的标注,特写此文章记录数据清洗与格式化的过程。

蓝胖子的博客 9949

nnDetection实战:手把手教你用Python在自家电脑上跑通第一个肺结节检测模型

本文详细介绍了如何使用nnDetection框架在普通电脑上实现肺结节检测模型的搭建与运行。从环境配置、数据预处理到模型训练与推理,手把手教你完成医学图像检测的全流程,特别适合初学者入门医学AI领域。

weixin_32377497的博客 330

DingTalk 自动签到插件使用指南

--- ## 项目介绍 **DingTalk Check-in** 是由 [ZhipingYang](https://github.com/ZhipingYang) 开发的一个开源项目,专为钉钉用户设计。它提供了一个自动化解决方案,用于简化日常的钉钉签到过程。通过这个工具,用户可以自动完成地理位置签到或者普通签到任务,极大地节省时间并提高效率。该项目基于Python开发,支持自定义配置,适用于...

gitblog_00285的博客 1160

个人信息保护合规审计人员(中级)能力测试试卷

本文是关于个人信息保护合规考试的试题解析,内容涵盖《个人信息保护法》相关规定。试卷包含单选题、多选题、判断题、简答题和案例分析题五种题型,总分100分,考试时间120分钟。试题重点考察个人信息处理的基本原则、敏感个人信息处理要求、合规审计流程、个人信息保护影响评估等内容。通过案例分析题详细解析了人脸识别登录、数据共享、跨境传输等场景下的合规要求。参考答案均严格依据《个人信息保护法》等法律法规,为个人信息处理活动提供了明确的合规指引。

qq_41525079的博客 849

钉钉签名算法与hash_hmac函数的使用

1、在php中hash_hmac函数就能将HMAC和一部分哈希加密算法相结合起来实现HMAC-SHA1  HMAC-SHA256 HMAC-MD5等等算法。函数介绍如下: string hash_hmac(string $algo, string $data, string $key, bool $raw_output = false) algo:要使用的哈希算法名称,可以是上述提到的md5,sh...

gdali的专栏 2356

手把手教你用Matlab/Simulink搭建PMSM的SMO无感FOC仿真(附相位补偿与离散化代码)

本文详细介绍了基于滑模观测器(SMO)的永磁同步电机(PMSM)无传感器FOC控制方法,通过Matlab/Simulink平台实现从理论到实践的完整流程。内容涵盖SMO核心原理、离散化处理、转子位置估算与相位补偿技术,以及双闭环控制系统搭建,为工程师提供了一套完整的无传感器控制解决方案。

weixin_27038245的博客 253

AI编码的“黑箱危机”终结者:OpenSpec如何让你的代码从“猜谜”变“契约”?

OpenSpec的真正价值,在于它将AI编码从"经验驱动"推向"契约驱动"——当人类与AI对"目标是什么"达成显式共识,编码就从"猜谜游戏"变成了"工程实现"。这种转变不仅提升效率,更重塑了开发者与AI的关系:AI从"替代者"回归"协作者",而人类则聚焦于"定义正确的事"而非"正确地做事"。对于开发者,OpenSpec提供了驾驭AI的缰绳;对于团队,它构建了协作的基石;对于行业,它预示着AI编码工业化的开端。

haolove527的专栏 1348

钉钉企业内部机器人python开发(公网部署版本)

钉钉企业内部机器人python开发(公网部署版本) 钉钉给出的开发文档地址如下: https://open.dingtalk.com/document/group/enterprise-created-chatbot 1.创建机器人 1.登录钉钉开发者后台,依次选择应用开发 > 企业内部开发 > 机器人,点击创建应用 2.填写机器人名字、描述、图片等信息,点击创建,创建完成会生成AppKey、AppSecret(开发机器人代码里用来校验请求是否合法)等信息 更多内容详见: 钉钉企业内部机器人py

cestlavieqiang的博客 3426

【推荐100个unity插件】unity实现交互式火焰 —— Ignis

Ignis是一款Unity互动式消防系统插件,可轻松将物体转换为可燃物。支持固体、植被、蒙皮网格和地形树木等多种对象类型,提供火焰蔓延、熄灭等效果。安装需通过Unity Package Manager添加Visual Effects Graph,并按照指引转换目标物体材质。使用盒型碰撞体或网格计算燃烧区域,可自定义火焰参数和视觉效果。内置多种转换选项,如Flammable Vegetation、Flammable Skinned Mesh等,适用于不同场景需求。注意使用前需备份材质和地形数据,并提供性能优化

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2236

python钉钉机器人加签

description:机器人发送签名不匹配; solution:请确认签名和生成签名的时间戳必须都放在调用的网址中,请确认机器人的密钥加密和填写正确;

颹蕭蕭 1258

Python爬虫实战教程:如何高效爬取税务局通知通告

税务局发布的通知通告包含政策法规、办税指南、公告信息等,是纳税人、企业合规经营的重要参考。官网发布频率高,手动查看不便,自动爬取并保存,方便信息及时掌握及历史数据归档。本文以合法合规的方式示范,建议实际应用前确认目标网站允许爬取的范围和方式。建议使用pandas进行数据清洗,如去重、空值处理等。对于研究税务政策、进行大数据分析、搭建行业信息平台,爬取税务局通知通告信息尤为关键。公告列表以分页形式展现,包含标题、发布时间和详情页链接。进行政策趋势图、发布频率统计等可视化。爬取公开数据时,务必遵守网站的。

2201_76125261的博客 1781

【人工智能】国产开源大模型聊天 AquilaChat 快速开始上手实战&效果评测

Aquila语言大模型在技术上继承了GPT-3、LLaMA等的架构设计优点,替换了一批更高效的底层算子实现、重新设计实现了中英双语的tokenizer,升级了BMTrain并行训练方法,在Aquila的训练过程中实现了比Magtron+DeepSpeed zero-2将近8倍的训练效率。Aquila语言大模型是在中英文高质量语料基础上从0开始训练的,通过数据质量的控制、多种训练的优化方法,实现在更小的数据集、更短的训练时间,获得比其它开源模型更优的性能。

AI天才研究院 2万+
下一篇: 3.#技术|Android抓包的原理分析和实际操作,fiddler+Xposed+TrustMe++
nothing one
博客等级 码龄6年 691粉丝 14原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值