大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
下面这个小文章适合初学Python的童鞋哦~~~
一个很好用的微信库:itchat
拿使用图灵机器人设置自动回复,让机器人跟微信好友傻傻的聊天,机器人比小编还会聊天,无论是对美眉还是汉纸,上来就是爱!爱!爱!简直太辣眼睛!!!用它进行来调戏微信好友,简直6的一笔!
(记住一条!千万不能对女票使用,遭遇一万点伤害)
好啦,下面就来一起看一下如何使用吧!
使用工具:itchat,requests
-
搭建python开发环境,这个就不用多说了嘛,可自行百度,需要注意一点的就是记得将python安装路径加入环境变量~
-
安装itchat库
通过管理员权限运行命令提示符,直接输入以下代码:
pip install itchat
pip install requests
然后会自动从网上下载资料自行安装,很简单,很傻瓜~有木有~python真的好呆萌~~~
-
获取一个图灵机器人API
不要把API想的太复杂,就是一个接口啦,啥?你不明白啥是接口,唉呀~就是一个口子,你能进去,干点事情或者拿点东西再出来,就这么个东东~~(额~同学不要想多了,一不留神就开车~~)
实现原理:当我们获取微信好友发来的消息时,我们将这个消息传给机器人的API,然后它就会根据消息做出答复,然后我们再将这个消息返回给微信好友,就OK啦!
虽然描述的过程比较长,但是机器运行的很快,调用这个接口实现的过程真的特别~特别快~~~(哎呀~车辆转弯,请抓稳扶好~~)
童鞋可以从下面这个官网上注册帐号,获取图灵机器人的API:
注册成功后,我们就可以获得下面这个api的key啦,先拿下留用!
(小编将key打码了,童鞋可以自行获取无码的key,咳咳~~)
-
代码实现
说了这么多,下面可以列代码了,童鞋不要紧张,代码很少哟~(如果代码让你感觉不舒服,文章底部有整理好的源代码,童鞋可以拿去自行玩耍。记住,不在太嗨了哟~~~)
第一步:导入我们需要使用的工具
import itchat import requests import re
第二步:定义一个获取网页的函数
原理:上面我们已经提到,将微信好友发来的消息传送给图灵机器人API,以下我们简称为小图。而小图实际上就是在一个网页上运行的,下面上图来看一下:
其中“text”就表示我们要跟小图说的话,这部分将被替换为微信好友发来的消息,以下定义一个抓取网页的函数:
def getHtmlText(url): try: r = requests.get(url,timeout=30) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return ""
第三步:调用itchat封装好的装饰器
@itchat.msg_register(['Text','Map', 'Card', 'Note', 'Sharing', 'Picture'])
其中”Text”即表示为文字消息,除此之外还有其他的图片、表情等消息,都可以将此发给小图~它还很聪明的~~
第四步:定义自动回复函数
def text_reply(msg): # 判断一下发件人不是自己 if not msg['FromUserName'] == Name["你的昵称"]: url = "http://www.tuling123.com/openapi/api?key=(此处填写您的key)&info=" # 将获取的信息附在链接的尾部 url = url + msg['Text'] # 通过定义的网页抓取函数获取页面内容 html = getHtmlText(url) # 以下两行代码用到了正则表达式,感兴趣的同学可以查一下哦 message = re.findall(r'\"text\"\:\".*?\"',html) reply = eval(message[0].split(':')[1]) return reply
第五步:定义一个主函数来运行它
if __name__ == '__main__': # 通过itchat扫码登录微信网页版 itchat.auto_login() # 获取所有微信好友的信息 friends = itchat.get_friends(update=True)[0:] # 使用字典存放好友昵称与用户名 Name = {} # 好友昵称 Nic = [] # 好友用户名 User = [] for i in range(len(friends)): Nic.append(friends[i]["NickName"]) User.append(friends[i]["UserName"]) for i in range(len(friends)): Name[Nic[i]] = User[i] itchat.run()
好啦,大功告成啦,有兴趣的同学可以一起玩玩看哦~下面附源代码:
如果内容有错误,请看客指出哦,谢谢啦~~~
另外补充一下,小编真的是一位很纯洁的小哥哦,嘿嘿嘿~~~
# 源代码如下: # wechat autoreply import itchat import requests import re # 抓取网页 def getHtmlText(url): try: r = requests.get(url,timeout=30) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return "" # 自动回复 # 封装好的装饰器,当接收到的消息是Text,即文字消息 @itchat.msg_register(['Text','Map', 'Card', 'Note', 'Sharing', 'Picture']) def text_reply(msg): # 当消息不是由自己发出的时候 if not msg['FromUserName'] == Name["Jestiao"]: # 回复给好友 url = "http://www.tuling123.com/openapi/api?key=您的小图key&info=" url = url + msg['Text'] html = getHtmlText(url) message = re.findall(r'\"text\"\:\".*?\"',html) reply = eval(message[0].split(':')[1]) return reply if __name__ == '__main__': itchat.auto_login() # 获取自己的UserName friends = itchat.get_friends(update=True)[0:] Name = {} Nic = [] User = [] for i in range(len(friends)): Nic.append(friends[i]["NickName"]) User.append(friends[i]["UserName"]) for i in range(len(friends)): Name[Nic[i]] = User[i] itchat.run()
猜您喜欢:
超级便捷精巧绿色的屏幕分享小软件IntelexEMC
超简单一键提取QQ群成员
一键拼接微信好友头像/玩炫朋友圈
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188273.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...