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

目录
  • 需求
  • 实现原理
  • 代码
  • 接收通知

需求

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

实现原理

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

代码

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

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监控屏幕内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python实现屏幕录制功能的代码

    前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了下能不能通过万能的python来实现呢?经过一晚上的尝试发现这条路是可以走的通的.分享一下自己的想法,整体思路是PIL模块中的ImageGrab不停的获得当前屏幕,利用opencv写入视频流话不多说,直接上代码,有什么更好的建议,欢迎大家交流! """python + opencv 实现屏幕录制_by-_Zjh_""&

  • Python实现定时发送监控邮件

    目录 一.自动定时任务运行详情 二.开启POP3/SMTP服务 三.发送邮件 1 导入库 2 设置邮件内容 3 添加附件 4 发送邮件 5 邮件发送效果 四.设置定时任务 1 设置定时任务的具体步骤 2 设置定时任务的教学视频 不管是在信贷领域还是支付领域,作为一个风控人员,我们都需要对部署的策略模型进行监控,信贷领域可能还需要对客户的逾期表现进行监控.这时,如果我们能用python自动连接数据库,对策略.模型.贷后表现等数据进行分析处理,输出标准表格或图片到固定文件夹中.再用python自动定

  • 基于Python编写一个监控CPU的应用系统

    目录 导语 一.简介 1.1 软件介绍 二.准备中 2.0 原理简介 2.1 环境安装 2.2 素材准备(可修改) 三.开始敲代码 3.1 导入模块 3.2 奔跑的猫-CPU 3.3 奔跑的猫-内存 四.效果展示 导语 哈喽!我是木木子,最近好懒了哈天气太热了.jpg 有时间给大家更新一下下啦!今日上线——跟这这篇文章写姐妹篇哈~ 基于Python实现实时监控CPU使用率 在使用 Mac 电脑办公时,有时候不知道哪些软件或进程会占用大量的资源,导致进行其他任务时出现变慢.卡顿等现象.因此,实时监

  • Python实现监控远程主机实时数据的示例详解

    目录 0 简述 1 程序说明文档 1.1 服务端 1.2 客户端 2 代码 0 简述 实时监控应用程序,使用Python的Socket库和相应的第三方库来监控远程主机的实时数据,比如CPU使用率.内存使用率.网络带宽等信息.可以允许多个用户同时访问服务端.注:部分指令响应较慢,请耐心等待. 1 程序说明文档 1.1 服务端 本程序为一个基于TCP协议的服务端程序,可以接收客户端发送的指令并执行相应的操作,最终将操作结果返回给客户端.程序运行在localhost(即本机)的8888端口. 主要功能

  • 用Python实现屏幕截图详解

    目录 一.序言 二.环境配置 三.屏幕截屏源码与解析 四.结语 一.序言 在csdn上有很多纯copy,这给我复现带来了很大的麻烦,所以我想根据我的个人找截图的经历记录下来,给未来的自己看,免得忘记了云云.由于我比较喜欢用opencv处理图像,所以截屏最后都会附带一个使用opencv显示图片的一个步骤. 二.环境配置 1.下载pyautogui包 pip install pyautogui -i https://pypi.tuna.tsinghua.edu.cn/simple/ 注:使用pyau

  • Python实现屏幕截图的两种方式

    使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处是 灵活 速度快 缺点是: 写法繁琐 不跨平台 import time import win32gui, win32ui, win32con, win32api def window_capture(filename): hwnd = 0 # 窗口的编号,0号表示当前活跃窗口 # 根据窗口句柄获取窗口的设备上下文DC(Divice C

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

    目录 需求 实现原理 代码 接收通知 需求 有时候需要实时监控屏幕上的信息是否发生变化,例如监控某个公众号是否发送了推送,可能是你重要的一个信息来源渠道,你希望第一时间留意到,抢热点等~那么可以使用Python编写这么一个脚本进行监控屏幕像素变化,只要像素发生变化,基本就是内容发生了变化. 实现原理 循环截图监测界面像素变化,像素发生变化就是界面发生变化. 代码 当像素发生变化,就会POST一个通知到你的通知URL,这个时候你接收通知的客户端就会给你发送提醒. import time impor

  • Python聊天室带界面实现的示例代码(tkinter,Mysql,Treading,socket)

    一.前言 我用的是面向对象写的,把界面功能模块封装成类,然后在客户端创建对象然后进行调用.好处就是方便我们维护代码以及把相应的信息封装起来,每一个实例都是各不相同的. 所有的界面按钮处理事件都在客户端,在创建界面对象是会把客户端的处理事件函数作为创建对象的参数,之后再按钮上绑定这个函数,当点击按钮时便会回调函数 二.登录界面实现 登录界面模块chat_login_panel.py from tkinter import * # 导入模块,用户创建GUI界面 # 登陆界面类 class Login

  • 使用Python监控文件内容变化代码实例

    利用seek监控文件内容,并打印出变化内容: #/usr/bin/env python #-*- coding=utf-8 -*- pos = 0 while True: con = open("a.txt") if pos != 0: con.seek(pos,0) while True: line = con.readline() if line.strip(): print line.strip() pos = pos + len(line) if not line.strip(

  • python实时监控cpu小工具

    本文实例为大家分享了python实时监控cpu的工具,供大家参考,具体内容如下 虽然写的很不完善,但是当练手吧,对于实时监控cpu还是有点用处的,虽然android studio已经提供了一样的功能,但是能够记录并生成成本地csv文件还是比as多一个功能的. 结果图: 直接放源码: # !_*_coding:utf-8_*_ import re import os import wx import thread import pychartdir import csv class GetCpuS

  • python脚本监控docker容器

    本文实例为大家分享了python脚本监控docker容器的方法,供大家参考,具体内容如下 脚本功能: 1.监控CPU使用率 2.监控内存使用状况 3.监控网络流量 具体代码: #!/usr/bin/env python # --*-- coding:UTF-8 --*-- import sys import tab import re import os import time from docker import Client import commands keys_container_st

  • 不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决

    前言 本文主要给大家介绍了关于不同版本中Python matplotlib.pyplot.draw()界面绘制异常的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 在 Ubuntu系统上进行如下配置: $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-dev $ sudo apt-get install python-pip $ sudo pip install --u

  • js 监控iframe URL的变化实例代码

    iframe的url可以前端任何地址,这样就可能出现漏洞,如果钓鱼网站通过js把src改成了危险地址,如果没有监控,就会有很大隐患.所以监控iframe的url变化就是必须要解决的问题了. 第一印象的解决方案是通过setInterval轮询监控,貌似不太理想了,而且有延迟. 千般搜索,终于找到了好的方法,可以通过H5新增的MutationObserver来解决,配合DOMAttrModified和onpropertychange来解决兼容性问题. 废话少说,直接上代码. index.html代码

  • Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】

    本文实例讲述了Python实现监控键盘鼠标操作.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pythoncom import pyHook import time def onMouseEvent(event): "处理鼠标事件" fobj.writelines('-' * 20 + 'MouseEvent Begin' + '-' * 20 + '\n') fobj.writelines("Current Time:%s\

  • Python Tkinter 简单登录界面的实现

    如下所示: from tkinter import * class Reg (Frame): def __init__(self,master): frame = Frame(master) frame.pack() self.lab1 = Label(frame,text = "账户:") self.lab1.grid(row = 0,column = 0,sticky = W) self.ent1 = Entry(frame) self.ent1.grid(row = 0,colu

  • Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)

    从最简单的Web浏览器的登录界面开始,登录界面如下: 进行Web页面自动化测试,对页面上的元素进行定位和操作是核心.而操作又是以定位为前提的,因此,对页面元素的定位是进行自动化测试的基础. 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver就是利用元素的这些属性来进行定位的. 可以用于定位的常用的元素属性: id name class name tag name link text partial link text xp

随机推荐