脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python实现监控屏幕界面内容变化并发送通知

Python实现监控屏幕界面内容变化并发送通知

2023-04-25 17:00TANKING Python

这篇文章主要为大家详细介绍了如何利用Python实现实时监控屏幕上的信息是否发生变化并发送通知,文中的示例代码讲解详细,感兴趣的可以了解一下

需求

有时候需要实时监控屏幕上的信息是否发生变化,例如监控某个公众号是否发送了推送,可能是你重要的一个信息来源渠道,你希望第一时间留意到,抢热点等~那么可以使用Python编写这么一个脚本进行监控屏幕像素变化,只要像素发生变化,基本就是内容发生了变化。

实现原理

循环截图监测界面像素变化,像素发生变化就是界面发生变化。

代码

当像素发生变化,就会POST一个通知到你的通知URL,这个时候你接收通知的客户端就会给你发送提醒。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import time
import numpy as np
import requests
from PIL import ImageGrab
 
# 指定要监测的区域
monitor_area = (0, 0, 100, 100) # (左上角x坐标, 左上角y坐标, 右下角x坐标, 右下角y坐标)
 
# 初始截图
last_screen = np.array(ImageGrab.grab(monitor_area))
 
# 指定HTTP请求的URL
url = "改成你的POST通知的URL,例如企业微信、Bark、钉钉、发送邮件等"
 
while True:
    # 捕获当前屏幕截图
    current_screen = np.array(ImageGrab.grab(monitor_area))
 
    # 将上次截图和当前截图进行比较
    difference = np.sum(np.abs(current_screen - last_screen))
 
    if difference > 0:
        # 发送HTTP POST请求
        data = {"timestamp": time.time(), "difference": difference}
        response = requests.post(url, data=data)
        print(response.text)
 
    # 更新上次截图
    last_screen = current_screen
 
    # 休眠一段时间,然后继续循环
    time.sleep(1)

接收通知

我使用的是IOS的Bark,直接将通知POST到APP了:

Python实现监控屏幕界面内容变化并发送通知

这是比较方便的一种方式,你也可以自己搭建邮件通知服务、企业微信机器人、钉钉机器人等通知服务进行接收通知。

到此这篇关于Python实现监控屏幕界面内容变化并发送通知的文章就介绍到这了,更多相关Python监控屏幕内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://segmentfault.com/a/1190000043715262

延伸 · 阅读

精彩推荐
  • PythonPyTorch中Tensor和tensor的区别及说明

    PyTorch中Tensor和tensor的区别及说明

    这篇文章主要介绍了PyTorch中Tensor和tensor的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    玄云飘风7302022-07-16
  • Python详解Python中的循环语句的用法

    详解Python中的循环语句的用法

    这篇文章主要介绍了详解Python中的循环语句的用法,循环语句是学习各个编程语言的最基本的基础知识,需要的朋友可以参考下 ...

    taiyang19879124152020-06-03
  • Pythonpytorch 膨胀算法实现大眼效果

    pytorch 膨胀算法实现大眼效果

    在PS中,我们可以利用液化工具对人像进行瘦脸、放大眼睛等系列的常规操作。今天我们来了解一下这些操作的算法原理,并用pytorch 膨胀算法来实现大眼效...

    watersink4862022-03-08
  • Pythonpython实现三阶魔方还原的示例代码

    python实现三阶魔方还原的示例代码

    这篇文章主要介绍了python实现三阶魔方还原的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    Kikikikii6932021-10-22
  • Pythonpython 如何将两个实数矩阵合并为一个复数矩阵

    python 如何将两个实数矩阵合并为一个复数矩阵

    这篇文章主要介绍了使用python实现将两个实数矩阵合并为一个复数矩阵的操作,具有很好的参考价值,希望对大家有所帮助。...

    动力橙CHT11662021-11-07
  • PythonPython实现数字的格式化输出

    Python实现数字的格式化输出

    这篇文章主要介绍了Python如何实现数字的格式化输出,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下 ...

    David Beazley4542020-08-01
  • Pythonpython 寻找list中最大元素对应的索引方法

    python 寻找list中最大元素对应的索引方法

    今天小编就为大家分享一篇python 寻找list中最大元素对应的索引方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    nov_csdn10332021-03-11
  • PythonPython使用pymongo模块操作MongoDB的方法示例

    Python使用pymongo模块操作MongoDB的方法示例

    这篇文章主要介绍了Python使用pymongo模块操作MongoDB的方法,结合实例形式分析了Python基于pymongo模块连接MongoDB数据库以及增删改查与日志记录相关操作技巧,需...

    铠甲巨人4702021-03-19