接单-python实现监测电脑图片(弹窗)并发微信通知,并打包成exe

256 阅读3分钟

本文主要展示与客户沟通的过程,和一些大家熟知的代码,介绍了通知微信的两种方式,中间我也有很多不会的地方,直接问deepseek,很快就给解答了,然后希望我发的这些小东西能给大家带来一些帮助吖。

bg:

round one

甲方:想做个软件 检测到电脑屏幕指定的区域是黑色,或者没有声音的时候 给我的手机发提醒,支持多台设备发送,信息内容也不一样。

me:检测指定位置截图可以吗,因为考虑到每个电脑的位置可能都不一样

round two

me:哥们 我了解了一下 微信推送信息,咱们要多个电脑同时检测 肯定就是不能同时登录微信了,然后我看有微信公众号推送的,然后有两个公众号 目前比较流行,一个是 Server酱 和 PushPlus

Server酱

然后 server酱 我试了之后 发现电脑端能打开具体信息 手机公众号只是展示标题 具体信息点不开 然后想看完整信息 需要下载他的app 或者电脑上点开看

然后价格第一年可能会便宜 后续一年都是一百多

12bd84e2ae6f99b0f84a2d1940f365e6.jpg

但是他每天能发1000条数据

PushPlus

然后pushplus 是实名认证 1元 然后每天200条免费额度,然后超过200条就不给发了,pushpuls 也是微信的公众号,到时候信息也是发到微信上,然后官网上可以先测试一下,并且频繁发送也不行,具体你看看官网文档!!

42d794bf702a45926c0dd1e6bdadaed9.jpg

甲方:就能实现多个电脑同时检测了呗

me:这个只是发短信这块确定 同时检测就是 每个电脑都运行我写的软件就可以 然后每个电脑配置不同的短信信息就可以实现了

0152f8a9acdb4f9467ace7376d88782a.jpg

75f42c668ccf8cd2ca41ef88d3c1fb45.jpg

最后,在米面前 还是选择了经济实惠并且好用的pushplus。。。。

背景说完了 开始实操!!

1 Server酱的接口调用:

先去官网注册一个账号 然后获取到 SendKey 然后放到代码中就可以了 官网地址:https://sct.ftqq.com/ 接口调用:

import requests

# 替换为你自己的 SendKey
SCKEY = '替换为你自己的 SendKey'

def send_wechat_message(content):
    url = f'https://sctapi.ftqq.com/{SCKEY}.send'
    data = {
        "title": "提醒消息",
        "desp": content
    }
    response = requests.post(url, data=data)
    result = response.json()
    if result.get('code') == 0:
        print("消息发送成功")
    else:
        print(f"消息发送失败: {result}")

if __name__ == "__main__":
    message_content = "这是一条来自 Python 的微信提醒消息。"
    send_wechat_message(message_content)

2 pushplus 的接口调用

这个注册就在手机上搜索公众号注册就行了 然后实名认证,然后公众号 pushplus 推送加-》功能-》个人中心-》开发设置-》token查看-》复制

接口调用

import requests

def send_pushplus_message(token, title, content, template='html'):
    """
    向 PushPlus 发送消息

    :param token: PushPlus 的 Token
    :param title: 消息标题
    :param content: 消息内容
    :param template: 消息模板,默认为 'html'
    :return: 响应结果
    """
    url = 'http://www.pushplus.plus/send'
    data = {
        "token": token,
        "title": title,
        "content": content,
        "template": template
    }
    try:
        response = requests.post(url, json=data)
        response.raise_for_status()  # 检查请求是否成功
        result = response.json()
        if result.get('code') == 200:
            print("消息发送成功")
        else:
            print(f"消息发送失败,错误信息: {result.get('msg')}")
        return result
    except requests.RequestException as e:
        print(f"请求出错: {e}")
        return None

# 使用示例
if __name__ == "__main__":
    # 替换为你自己的 PushPlus Token
    token = "替换为你自己的 PushPlus Token"
    title = "测试消息"
    content = "<p>这是一条测试消息。</p>"
    send_pushplus_message(token, title, content)

3 检测图片

代码太长啦,有人想要的联系我哈

4 然后就是打包

python打包成exe是最简单的了 就只是需要下载一个pyinstaller

pip install pyinstaller

进入到项目路径

# pyinstaller --onefile --windowed --icon=D:\001.ico run.py

路人:这块图标 用的是ico格式 我还想设置个图标,这个咋搞呀 !

me:easy !

from PIL import Image

# 打开 PNG 图片
img = Image.open('001.png')

# 保存为 ICO 格式
img.save('001.ico', format='ICO', sizes=[(256, 256)])

执行一下就出ico图片啦!