python上的免费免登录微信智能聊天机器人
目录
一、准备
二、开始
三、全部代码
四、总结
一、准备
需要bs4库、requests库、time库(python自带)、wxauto库。
如果没有的话请用pip安装。
在本示例中,使用的是wxauto,所以只能识别桌面上显示的微信窗口,一旦微信窗口最小化,便无法使用。解决办法:可以在GitHub上找到wxauto的后台版本,下载安装即可。
pip install bs4
pip install wxauto
pip install requests
二、开始
1.先把各种库导入进来,requests是用来获取回答的,bs4用于解析返回的回答,wxauto用于沟通微信:
from requests import *
from bs4 import BeautifulSoup
from wxauto import WeChat
import time
2.规定一下wxauto库的简称,以便后期使用,在这里,我使用的简称是wx,当然,如果您想,只要符合变量规则就可以:
wx = WeChat()
3.python自动监视,当最后一条消息发生变动时触发命令,这样,当有新信息收到时就会自动运行下面的命令:
while True:#无限循环#比较,自动观察是否有新消息msg1 = wx.GetLastMessagetime.sleep(3)msg2 = wx.GetLastMessageif msg1 != msg2:#当前后不同时,运行下面的命令
4.打印msg2会发现形成了一个列表,如('name','message','time'),我们只需要信息,所以只需要列表的第2位。之后再加上青云客的API,get到返回结果,再用BeautifulSoup解析得到的html,可以观察到返回的是一串html代码,选取字符串中的第38位到倒数第20位,最后使用wxauto的SendMsg发送即可。
url1 = msg2[1]url2 = "http://api.qingyunke.com/api.php?key=free&appid=0&msg="url = url2 + url1ret = get(url)soup = str(BeautifulSoup(ret.text, 'lxml'))ans = str(soup[38:-20])wx.SendMsg("robot:" + ans)
·在本示例中,使用的wxauto里的函数,全部建立在您已经打开微信窗口的基础上,所以,您需要打开微信窗口,并且选择好与谁聊天,之后运行您编写的py代码,一旦Ta给您发消息,机器人便能自动在微信中回复。
但是,我们会发现,当您的网速较慢时,可能会导致消息回复不及时,这时可能就会导致软件崩溃,所以,当您使用时可以再添加一个try命令,当网速过慢导致无法得到正确回复时,不会崩溃,这就适用于自己搭建一个简易服务器。
try:url1 = msg2[1]url2 = "http://api.qingyunke.com/api.php?key=free&appid=0&msg="url = url2 + url1ret = get(url)soup = str(BeautifulSoup(ret.text, 'lxml'))ans = str(soup[38:-20])wx.SendMsg("robot:" + ans)
except:wx.SendMsg("robot:与服务器通讯异常,请重试")
当然,如果您搭建的服务器是基于windows的,也可以用pyinstaller打包成exe。这样便于使用,当然,也可以应用在其他无python环境的windows电脑上。
方法:
cmd:
cd (文件路径)
pyinstaller -F (文件名)
之后就是等待pyinstaller自动打包即可,打包完成后的exe文件会被储存到dist文件夹中,直接复制出来即可。如果上面的步骤没有做错,那么dist文件夹中只会有一个.exe文件,如果出现了许多文件,那就证明您在使用pyinstaller时没有加上-F(打包为单个文件)。
三、全部代码
from requests import *
from bs4 import BeautifulSoup
from wxauto import WeChat
import timewx = WeChat()
while True:msg1 = wx.GetLastMessagetime.sleep(3)msg2 = wx.GetLastMessageif msg1 != msg2:url1 = msg2[1]url2 = "http://api.qingyunke.com/api.php?key=free&appid=0&msg="url = url2 + url1ret = get(url)soup = str(BeautifulSoup(ret.text, 'lxml'))ans = str(soup[38:-20])wx.SendMsg("robot:" + ans)
2023.1.28 改进:
from requests import *
from bs4 import BeautifulSoup
from wxauto import WeChat
import timewx = WeChat()
while True:msg1 = wx.GetLastMessagetime.sleep(3)msg2 = wx.GetLastMessageif msg1 != msg2:url1 = msg2[1]url2 = "http://api.qingyunke.com/api.php?key=free&appid=0&msg="url = url2 + url1try:ret = get(url)soup = str(BeautifulSoup(ret.text, 'lxml'))ans = str(soup[38:-20])wx.SendMsg("robot:" + ans)except:wx.SendMsg("error")
四、总结
在本示例中,我们知道了一个新的python库--wxauto,同时,我们也知道了怎么get url,当然,本示例中的api您也可以用来开发一个新的代码,让它做更多有意义的事情。
python上的免费免登录微信智能聊天机器人相关推荐
- python web微信应用(三) 微信智能聊天机器人
文章目录 前言 一.webwx 模块介绍 二.微信智能聊天 前言 本篇文章作为系列第三篇文章,将实现一个微信智能聊天机器人: 系列其它文章请参考: python web微信应用(一) 微信协议分析 p ...
- AI机器人:人工智能机器人创意中心之微信智能聊天机器人登陆GUI
人工智能机器人创意中心 目录 微信智能聊天机器人登陆GUI 对话界面 微信智能聊天机器人登陆GUI 对话界面
- 使用 Python 编写的微信智能聊天机器人
编程语言:Python2.7,基于图灵API 首先在图灵机器人官网(http://www.tuling123.com) 注册账号,创建机器人,使用图灵的API接口,实现智能聊天等功能丰富的机器人,图灵 ...
- python微信聊天机器人源码_Python的微信二次开发!实战微信智能聊天机器人!
# 设置早上起床时间,中午吃饭时间,下午吃饭时间,晚上睡觉时间say_good_morning = cf.get("configuration", "say_good_m ...
- 基于“机器学习”智能聊天机器人---python实现(2)
本博文上接上一篇博文"基于"机器学习"智能聊天机器人---python实现(1)" 博文链接:https://blog.csdn.net/DALEONE/art ...
- 基于“机器学习”的智能聊天机器人---python实现(1)
本博文以自己课程设计为依托,介绍如何利用python语言编程实现基于"机器学习"的智能聊天机器人.由于本项目是自己首次接触python以及利用计算机编程实现小型项目,中途遇到诸多问 ...
- Python--微信智能聊天机器人
微信智能聊天机器人 import requests import itchat import time from threading import Timer 图灵机器人编号 如果大家感兴趣的可以登图 ...
- python如何实现微信自动聊天_如何利用python实现微信智能聊天功能,具体该怎么做?...
这个实现不难,需要先安装一下itchat库,之后注册一下图灵机器人,最后就可以编程实现微信智能聊天功能了,下面我简单介绍一下实现过程,实验环境win10+python3.6+pycharm5.0,主要 ...
- python爬虫初学实战——免登录爬取easyicon里的vip图标(2)
python爬虫初学实战-免登录爬取easyicon里的vip图标(2) 实验日期:2020-08-09 tips:没看过前面(1)的可以康康,指路 -> 爬取easyicon里的png图标 成 ...
最新文章
- 数据结构【图】—024最小生成树
- 第十六届全国大学生智能车讯飞智慧餐厅智能车竞赛比赛成绩
- python用类名直接调用方法_Python类的实例方法、静态方法、类方法详解,附代码示例...
- 【一步一步学习spring】spring bean管理(上)
- Python 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
- 在S4 key user tool里创建Custom Logic的后台实现
- 开源开放 | 中文相对复杂词汇识别数据集RCWI-Dataset(CCKS2021)
- 服务器开放特定端口的方法
- watch监控,对比新值和旧值做出相应判断
- 判别式模型 vs. 生成式模型
- 【回归预测】基于matlab GA优化BP回归预测(含优化前的对比)【含Matlab源码 1790期】
- 代理池篇(一)获取66免费代理网+西刺代理
- 阿里巴巴开源项目汇总-(前端)
- 构建OctoberCMS插件:Google Analytics(分析)
- Unity 涂涂乐(不使用shader)
- Chrome浏览器滚动条样式设置
- source insight 多文件并行显示
- PYQT5安装时,labelImg执行pyrcc5 -o libs/resources.py resources.qrc 报错:File does not exist ‘resources.qrc‘
- 第九篇:真正理解虚拟 DOM:React 选它,真的是为了性能吗?
- 远程访问MySql数据库
热门文章
- RSD规则法分类识别乡村土路
- 【SSL】2299护卫队
- 海南大学考研人,你真的马上就要上岸了
- Thor与Http catcher介绍
- CorelDRAWX4的VBA插件开发(四) 用一个例子了解CORELDRAW-X4的四个基本对象
- 爬虫-解析库的使用-Xpath
- 随元素而来,随元素而去,变一变样式,深藏功与名——论伪元素
- 算法- 递归算法 分治算法
- 对视觉显著性检测(Saliency Object Detection)中Channel Attention的一些总结
- 怎么用java实现直角三角形,java技术支持 输出一个直角三角形(下三角)