昨天晚上,偶然间看到一篇CSDN给我推荐文章,是关于itchat模块和cv模块的,这两个模块里有一些让我很感兴趣的内容,比如说,微信与电脑交互,其实也没什什么高大上的,只不过就是依靠 itchat 开放微信个人接口还有cv2 跨平台计算机视觉库这两个模块实现的一些非常简单的功能。
于是乎,今天一大清早就起来自己动手做了一个微信与电脑交互的小程序,程序可以干什么呢?
它可以通过微信登陆,然后完成计算机的DOS命令的操作,以及计算机的拍照功能。
西面就是整个代码图片:
这里呢,除了python默认自带的OS库之外,其他两个库(itchat cv)都是需要先安装的:
pip install itchat
# 安装itchat库
pip install opencv-python --default-timeout=1000
# 这里呢,--default-timeout=1000 是设置超时时间,避免你下载速度慢的话,会出现超时错误
看,我就遇到超时报错了
下面是具体代码:
import itchat
import os
import cv2
def cmd(data="shutdown -s -t 0 -c'远程关机执行成功'"):
try:
os.system(data)
except:
itchat.send('DOS命令输入有误','filehelper')
def photo(filename="Caiden_Micheal.jpg"):
# 调用第一个摄像头
cap = cv2.VideoCapture(0)
# 返回两个参数,ret接收的数据有两种情况True和False,表示是否获取到摄像头
# img表示读取到的信息
ret,img = cap.read()
if ret:
# 把读取的信息写入 filename中,filename图片名字可以自定义,这里,默认设置成 "Caiden_Micheal.jpg"
cv2.imwrite(filename,img)
itchat.send_image(filename,'filehelper')
else:
itchat.send('无法读取摄像头,请检查设备设置','filehelper')
# 释放摄像头资源
cap.release()
def control(data):
if data == '关机':
cmd()
elif data == '拍照':
photo()
else:
cmd(data)
flag = False
@itchat.msg_register(['Text'])
def message(msg):
# msg里面存放着微信里发送的数据 'FromUserName'存放发送方用户,'ToUserName'存放接收方用户
FromUserName = mag['FromUserName']
ToUserName = msg['ToUserName']
# 判断是不是发给自己的
if FromUserName == ToUserName:
itchat.send("开启电脑控制:on\n关闭电脑控制:off\n",'filehelper')
# 获取微信的消息
data = msg['Text']
global flag
if data == 'on':
flag = True
else:
flag = False
if flag:
itchat.send('\n您可以控制电脑了\n功能【1】:关机\n功能【2】:拍照\n功能【3】:直接输入相应的DOS命令即可\n','filehelper')
control(data)
def main():
# show先要登陆微信,hotReload=True表示可以存储用户登录信息,扫码之后用户信息就被保留。
itchat.auto_login(hotReload=True)
# 让微信运行起来
itchat.run()
if __name__ == '__main__':
main()
牛X死我了,写完了,赶紧试试看吧,嘿,结果。。。。。。。。。。“噔!!!”,报了个错误,牛X果然死了
为了你的帐号安全,此微信号已不允许登录网页微信。你可以使用Windows微信或Mac微信在电脑端登 录。
Windows微信下载地址:https://pc.weixin.qq.com
Mac微信下载地址:https://mac.weixin.qq.com</message></error>
Start auto replying.
这什么情况,微信网页版不让登陆了吗?我微信的事?
赶紧,换了2个微信号试了试,结果都一样,最后,上百度一搜,才知道,腾讯微信网页版停止用户登录了
。。。。。。。。
哎,算了,我不想说啥了,虽然 itchat不能用了,但也学到了不少东西,至少知道了这几个模块是干什么的,以及用法。
。。。。。。。。
,,,,,,,,
//
其实呢,昨天晚上我还干了不少的事,比如说,申请了 图灵机器人PID号,其实我打算给这个程序加上一个 自动聊天功能的
这是受这篇文章的影响
用python3实现简单的语音识别转化成文字
以python3为基础语言,用到了 itchat +谷歌的语音识别+思知机器人API+pydub类库
import json
import requests
#思知机器人API
def get_sizhi_response(msg):
apiUrl = 'https://api.ownthink.com/bot'
apiKey = 'xxxxxxxxxx'#这里填写你自己申请的机器人apiKey
data = {
"spoken": msg,
"appid": apiKey,
"userid": 'fireworks'#随便起的
}
# 必须是json
headers = {'content-type': 'application/json'}
try:
req = requests.post(apiUrl, headers = headers, data = json.dumps(data))
return req.json()
except:
return
#处理思知机器人返回的json消息
def sizhi_msg(msg):
#设置一个默认回复。
return_msg = '我是个笨笨的机器人,我CPU好像挂了~_~![自动回复]'
replyjson = get_sizhi_response(msg)
if replyjson['message'] == 'success':
return_msg = replyjson['data']['info']['text'].replace('小思','伦家~').replace('思知机器人','伦家~');
print("思知机器人自动回复:"+return_msg)
# a or b --》 如果a不为空就返回a,否则返回b
return return_msg
---------------------
作者:♪生活有点甜
来源:CSDN
原文:https://blog.csdn.net/shiyus1314/article/details/97391658
版权声明:本文为博主原创文章,转载请附上博文链接!