专栏首页Python中文社区Python进行远程视频监控

Python进行远程视频监控

專 欄

❈小丸子,网络工程专业在读。希望通过将自己学到的知识分享出来可以发现自己某个知识的薄弱点,更加有利于学习,喜欢将自己所学到的知识运用在生活中。乐于分享。

博客:http://blog.csdn.net/abitch❈——

从网上看到过用python远程发送截图的博客,这次我要用python实现远程视频监控,看起来既高大上,做起来又非常简单。先说一说整体思路,我们要做到手机发送邮件,python脚本接收到有特定邮件的信息,模拟鼠标操作点击qq上的视频通话按钮以达到视频监控的目的。

我们需要两个qq号,一个在电脑端登陆,一个在手机端登陆,python脚本需要的账号和密码是你电脑端的。代码所需第三方库:imaplib,pyautogui.

Imaplib是python的第三方库,我们用它来实现对邮件的操作,pyautogui也是需要安装的第三方库,我们用它来模拟鼠标的操作。

# -*- coding: utf-8 -*-

import imaplib, email

import pyautogui,time

# 延时5秒后点击qq中的视频通话按钮

defdoWork():

time.sleep(5)

# 这两个数字代表视频通话按钮的坐标

pyautogui.click(55, 65)



deflogin():

    M = imaplib.IMAP4_SSL("imap.qq.com")

try:

try:

M.login('yourqq@qq.com','password')#密码是授权码

except Exception,e:

print 'login error: %s' % e

M.close()

# 找到收件箱中最后一封未读邮件判断发件人是否相符

M.select("INBOX")

typ, data = M.search(None, 'UNSEEN')

msgList = data[0].split()

        last = msgList[len(msgList)-1]

type,data = M.fetch(last, '(RFC822)')

msg=email.message_from_string(data[0][1])

print msg["From"]

print last

if msg["From"] == "your message":

# 若发件人相符则进行视频通话

doWork()

# 删除邮件

M.store(last, '+FLAGS', r'(\Deleted)')

M.expunge()

M.close()

except Exception, e:

print 'imap error: %s' % e

M.close()



def run():

    while True:

        try:

           time.sleep(10)

           login()

except Exception as e:

print (e)

if __name__=="__main__":

    run()

代码中换上你的qq邮箱账号和密码

注意事项: 首先qq邮箱一定要开启imap服务,相关步骤可以百度,开启imap服务后会有一个授权码,填写密码的时候不要写你的qq密码,要写这个授权码。

进行判断的时候我偷了个懒,只要是我发的邮件,不管邮件内容是什么都会跟我进行视频通话,也就是说你在邮件中填什么内容都可以,只要是你指定的账号发送的就可以,这个我推荐大家用新浪邮箱,因为qq邮箱发送东西总是报成垃圾邮件而不能成功发送

另外还有一个条件,电脑上运行这个脚本的时候必须把你要进行视频通话的聊天窗口打开并且最大化。就像这样:

例如我要跟小丸子视频通话,我就把小丸子的聊天窗口打开,并且最大化。这样程序运行的时候能够保证鼠标正确点到视频通话的按钮。 接下来,只要你用手机给电脑上的qq发送一封邮件,不久电脑就会跟你视频通话了。

代码写的并不好,只是完成了特定功能,希望能对学python的你带来一点乐趣。

本文分享自微信公众号 - Python中文社区(python-china),作者:小丸子

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-12-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python函数的基本特征详解

    今天开始,我们来讲讲函数,简而言之一个函数就是将一些语句集合在一起的部件,它们能够不止一次的在程序中运行。函数还能计算出一个返回值,并能够改变作为函数输入的参数...

    Python中文社区
  • Python开源项目介绍:用zmail简单地发邮件

    发送邮件是个很简单的需求,但是在实际的使用中依然碰到了很多坑,因此创建了zmail这个项目,让你使用python发送邮件的过程尽可能简单。

    Python中文社区
  • 五分钟入门Python自然语言处理(一)

    專 欄 ❈Jerry,Python中文社区专栏作者。 blog:https://my.oschina.net/jhao104/blog github:ht...

    Python中文社区
  • Centos 6.5 邮箱服务器搭建

    若提示命令未找到,参考链接:bash-mail-command-not-found/ 。

    幺鹿
  • 使用交互式地图和动画可视化伦敦的自行车流动性(上)

    近年来,自行车共享系统已经成为流行的出行方式,为大都市地区的市民提供了一种绿色、灵活的交通方式。世界上许多国家的政府都认为这是一种创新战略,可能会带来许多社会效...

    AiTechYun
  • 为什么 String 的 hashCode() 方法使用 31 来计算?

    According to Joshua Bloch's Effective Java (a book that can't be recommended eno...

    一个会写诗的程序员
  • View,Activity&Window

    面试中有时候会被问到View,Activity,Window,那么这三者之间究竟有什么关系呢?

    小海编码日记
  • 【云+社区年度征文】从零开始搭建一个SpringBoot应用并成功上云

    相信大家都具有在本地编写项目的丰富经验,然而本地的单击项目始终不能满足我们的需求,为此,本篇文章将介绍如何编写一个SpringBoot应用并成功将其部署到云服务...

    wangweijun
  • Start an Android App by ADB

    To be more geek,I began to start an Android App by using adb.Thanks to Google.It...

    技术小黑屋
  • Storm组件介绍

    我是攻城师

扫码关注云+社区

领取腾讯云代金券