首页 > 编程语言 >用python做个简单的监控

用python做个简单的监控

时间:2023-01-10 18:11:21浏览次数:48  
标签:做个 python text smtp 监控 msg import os 邮件

今天在看博客园的时候看到一篇文章,忘记是什么地址了,之前我也做过一个类似的监控,不过不好控制。之前的模式是通过内网地址访问相应的php程序,php调用python程序,能捕获到摄像头和屏幕以及声音的功能

效果图:

 

 

 

这次直接采用了计划任务的方式:

采集屏幕和摄像头保存为文件,然后将文件通过邮件发出去,效果:

 

 代码:

import cv2
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
import smtplib
import sys
import pyautogui
import cv2
import os


shexiang = os.path.join(os.path.dirname(sys.argv[0]), 'p1.jpg');
pingmu = os.path.join(os.path.dirname(sys.argv[0]), 'screenshot.png');


# 打开摄像头并拍照
cap = cv2.VideoCapture(0)  # 0 表示打开 PC 的内置摄像头(若参数是视频文件路径则打开视频)
#  按帧读取图片或视频
# ret,frame 是 cap.read() 方法的两个返回值。
# 其中 ret 是布尔值,如果读取帧是正确的则返回 True,如果文件读取到结尾,它的返回值就为 False。
# frame 就是每一帧的图像,是个三维矩阵。
ret, frame = cap.read()  # 按帧读取图片
cv2.imwrite(shexiang, frame)  # 保存图像
cap.release()  # 释放(关闭)摄像头


# 截图
screen_shot = pyautogui.screenshot()
screen_shot.save(pingmu)


sender = '[email protected]'  # 发件人
receivers = '[email protected]'  # 收件人
pw = 'aasasasasaas'  # 三方客户端登录邮箱授权码
subject = '电脑已启动拍照并发送'  # 邮件主题
text = '您好,您的电脑已开机,并拍摄了如下照片:'  # 邮件正文

msg = MIMEMultipart('mixed')  # 定义含有附件类型的邮件
msg['Subject'] = subject  # 邮件主题
msg['From'] = sender  # 发件人
msg['To'] = receivers  # 收件人
# MIMEText三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
# 构造一个文本邮件对象, plain 原格式输出; html html格式输出
text = MIMEText(text, 'plain', 'utf-8')
msg.attach(text)  # 将文本内容添加到邮件中

for i in (shexiang, pingmu):
    sendImg = open(i, 'rb').read()  # 读取刚才的图片
    img = MIMEImage(sendImg)  # 构造一个图片附件对象
    # 指定下载的文件类型为:附件, 并加上文件名
    img['Content-Disposition'] = 'attachment; filename={}'.format(i)
    msg.attach(img)  # 将附件添加到邮件中

msg_tsr = msg.as_string()  # 将msg对象变为str

# 发送邮件
try:
    smtp = smtplib.SMTP()  # 定义一个SMTP(传输协议)对象
    smtp.connect('smtp.126.com', 25)  # 连接到邮件发送服务器,默认25端口
    smtp.login(sender, pw)  # 使用发件人邮件及授权码登陆
    smtp.sendmail(sender, receivers, msg_tsr)  # 发送邮件
    smtp.quit()  # 关闭邮箱,退出登陆
except Exception as e:
    print('出错了:%s' % (e))
else:
    print('邮件发送成功!')

 编译命令:

pyinstaller -F -w jiankong.py

后面直接将生成的jiankong.exe加入windows计划任务即可

 

参考链接:https://www.cnblogs.com/east4ming/p/17039381.html

标签:做个,python,text,smtp,监控,msg,import,os,邮件
From: https://www.cnblogs.com/xuxiaobo/p/17041030.html

相关文章

  • python里的__call__()方法
    解释__call__方法是Python中类的特殊方法,当一个类的实例被“调用”时,就会自动触发这个方法。“调用”一个类的实例就是使用小括号()操作符。举个例子:classAdder:......
  • python pip 安装报错 (公司网络需要设置代理)
    python pip安装失败 1.打开“文件资源管理器”,地址栏输入“%USERPROFILE%”,回车键打开当前登录用户目录2.新建文件夹“pip”3.打开新建的“pip”文件夹,新建文件......
  • 软件测试|如何做好线上监控?
    01前言近期和大佬们核对任务规划,梳理新财年要做的事情,有非常重要的一项就是线上监控。对于线上监控,大家都最熟悉不过,凡是在生产环境上运行的系统,或多或少都会有监控,但是否......
  • 算法与数据结构高手养成-求职提升特训课(提供C++Java+Python 3大主流语言源码)
    ​​点击下载:算法与数据结构高手养成-求职提升特训课(提供C++Java+Python3大主流语言源码)​​  提取码:br1p《算法与数据结构高手养成-求职提升特训课》,一共17章,课程提供......
  • Linux系统安装Python3环境
    1、默认情况下,Linux会自带安装Python2.7.5,可以运行python--version命令查看,如图。我们看到Linux中已经自带了Python2.7.5,再次运行python命令后就可以使用python命令窗口......
  • Prometheus 监控 jenkins
        global:scrape_interval:15sevaluation_interval:15srule_files:-/mnt/rules/*.rulesscrape_configs:-job_name:'jenkins'metr......
  • python之路 57 linux 基础 命令与执行效果
    虚拟环境的安装与配置1.VMware软件安装这里有一个15版本和一个16版本的链接:https://pan.baidu.com/s/1vkNxxQ6NS9q7XYJ6qiVMaQ提取码:t3lf2.软件配置与Xshell远程工......
  • 【Python爬虫实战项目】Python爬虫批量下载相亲网站数据并保存本地(附源码)
    前言今天给大家介绍的是Python爬虫批量下载相亲网站图片数据,在这里给需要的小伙伴们代码,并且给出一点小心得。首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬......
  • python pdb调试使用方法 一
     终端中使用python-mpdb文件.py就可以启用pdb调试,常见操作命令为:l ---->查看代码n---->执行下一行(一行一行的执行)c---->继续执行(执行全部代码,相当于没......
  • Python中日志异步发送到远程服务器
    背景在Python中使用日志最常用的方式就是在控制台和文件中输出日志了,logging模块也很好的提供的相应的类,使用起来也非常方便,但是有时我们可能会有一些需求,如还需要将日......