财经门户网站开发,中英文网站设计,做网页和做网站,教育局网站建设管理工作意见1 前言
是否曾想过#xff0c;在一天的工作中#xff0c;你到底点击了键盘多少次#xff0c;或者鼠标点击了多少下#xff1f;
是否好奇每天工作的时候#xff0c;自己究竟有多努力#xff1f;
本文将带你使用 Python#xff0c;利用 pynput 监听键盘和鼠标事件…1 前言
是否曾想过在一天的工作中你到底点击了键盘多少次或者鼠标点击了多少下
是否好奇每天工作的时候自己究竟有多努力
本文将带你使用 Python利用 pynput 监听键盘和鼠标事件统计每天的点击次数并通过钉钉机器人告诉你今天到底摸鱼了多少次。
效果如下图
其实之前有做过一个类似的小软件https://blog.csdn.net/weixin_42887343/article/details/121697536
而这次使用钉钉每天定时上传展示不得不说钉钉的机器人是个非常好玩的好东西更多内容可以查看钉钉的官网 https://open.dingtalk.com/document/orgapp/webhook-stream-free-to-commercialization-announcement
2 准备工作
1创建自定义钉钉机器人这样就可以通过webhook。 官方教程链接https://open.dingtalk.com/document/robots/custom-robot-access/ 2安装必要的 Python 库。在终端或命令提示符中执行以下命令
pip install pynput schedule dingtalkchatbot总之就是缺什么安装什么。
代码实现
写代码是不可能自己写代码的 其实我现在很少写python忽然想写点东西还真响应不过来可是不怕跟进技术潮流我有ChatGPT。 首先依据自己的需求进行提问1功能点1
再是提问二功能点2 这样我们就得到了我们想要的代码可是为什么要分开问呢其实也可以一起问但是我用的是免费的chatgpt3.5对他的自信程度就没有那么高咯所以挨个提问逐渐递进。
当然得到最终代码后我们还需要做一些微调比如把自己的钉钉钩子替换上发送到钉钉的信息格式调整为自己想要的格式等等。
3 运行脚本
运行脚本它将会一直在后台监听你的键盘和鼠标事件。每天晚上9点它会发送一条消息到你指定的钉钉群告诉你今天的键盘和鼠标点击次数。
nohup python click_counter.py 使用 nohup 表示不阻塞终端在后台运行。
为了保持稳定性也可以将代码打包成可执行文件后运行这样会更加稳定一些。
4 结语
通过这个简单的 Python 脚本你可以更加有趣地了解自己每天的工作习惯。记得保持好奇心享受编程的乐趣
你可以根据自己的需求扩展博客内容添加更多关于如何使用 pynput、DingTalkChatbot 的说明或者优化代码的方法。希望这个示例能为你的博客写作提供一些灵感。
5 整体代码
import time
import schedule
from pynput import mouse, keyboard
from dingtalkchatbot.chatbot import DingtalkChatbotclass ClickCounter:def __init__(self, webhook, secretNone):self.keyboard_clicks 0self.mouse_clicks 0self.xiaoding DingtalkChatbot(webhook, secretsecret)self.keyboard_listener keyboard.Listener(on_pressself.on_key_press)self.mouse_listener mouse.Listener(on_clickself.on_mouse_click)schedule.every().day.at(20:58).do(self.daily_stats)def on_key_press(self, key):self.keyboard_clicks 1def on_mouse_click(self, x, y, button, pressed):if pressed:self.mouse_clicks 1def daily_stats(self):if self.keyboard_clicks 0 or self.mouse_clicks 0:returnmsg f mac键盘- {self.keyboard_clicks} 次\n\n mac鼠标- {self.mouse_clicks} 次\n\n又是摸鱼的一天self.xiaoding.send_markdown(title今日工作量统计, text#### 今日工作量:\n msg)self.keyboard_clicks 0self.mouse_clicks 0def start_listening(self):self.keyboard_listener.start()self.mouse_listener.start()while True:schedule.run_pending()time.sleep(10)# WebHook地址
webhook_url https://oapi.dingtalk.com/robot/send?access_token0931814dbcf5e593e9752XXXXXXXXXXf21481b225c4567929c56f926ee08
secret_key SECef7cd67264bbd03b9dae9bXXXXXXXXX54ed2bfb7de1fcc49b9b5a032c8 # 可选创建机器人勾选“加签”选项时使用# 创建ClickCounter实例
click_counter ClickCounter(webhook_url, secret_key)# 启动监听
click_counter.start_listening()
7 最后
此博客的主体框架包含标题当然也是让ChatGPT帮我干的咯。