目录

一、准备

二、开始

三、全部代码

四、总结


一、准备

需要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上的免费免登录微信智能聊天机器人相关推荐

  1. python web微信应用(三) 微信智能聊天机器人

    文章目录 前言 一.webwx 模块介绍 二.微信智能聊天 前言 本篇文章作为系列第三篇文章,将实现一个微信智能聊天机器人: 系列其它文章请参考: python web微信应用(一) 微信协议分析 p ...

  2. AI机器人:人工智能机器人创意中心之微信智能聊天机器人登陆GUI

    人工智能机器人创意中心 目录 微信智能聊天机器人登陆GUI 对话界面 微信智能聊天机器人登陆GUI 对话界面

  3. 使用 Python 编写的微信智能聊天机器人

    编程语言:Python2.7,基于图灵API 首先在图灵机器人官网(http://www.tuling123.com) 注册账号,创建机器人,使用图灵的API接口,实现智能聊天等功能丰富的机器人,图灵 ...

  4. python微信聊天机器人源码_Python的微信二次开发!实战微信智能聊天机器人!

    # 设置早上起床时间,中午吃饭时间,下午吃饭时间,晚上睡觉时间say_good_morning = cf.get("configuration", "say_good_m ...

  5. 基于“机器学习”智能聊天机器人---python实现(2)

    本博文上接上一篇博文"基于"机器学习"智能聊天机器人---python实现(1)" 博文链接:https://blog.csdn.net/DALEONE/art ...

  6. 基于“机器学习”的智能聊天机器人---python实现(1)

    本博文以自己课程设计为依托,介绍如何利用python语言编程实现基于"机器学习"的智能聊天机器人.由于本项目是自己首次接触python以及利用计算机编程实现小型项目,中途遇到诸多问 ...

  7. Python--微信智能聊天机器人

    微信智能聊天机器人 import requests import itchat import time from threading import Timer 图灵机器人编号 如果大家感兴趣的可以登图 ...

  8. python如何实现微信自动聊天_如何利用python实现微信智能聊天功能,具体该怎么做?...

    这个实现不难,需要先安装一下itchat库,之后注册一下图灵机器人,最后就可以编程实现微信智能聊天功能了,下面我简单介绍一下实现过程,实验环境win10+python3.6+pycharm5.0,主要 ...

  9. python爬虫初学实战——免登录爬取easyicon里的vip图标(2)

    python爬虫初学实战-免登录爬取easyicon里的vip图标(2) 实验日期:2020-08-09 tips:没看过前面(1)的可以康康,指路 -> 爬取easyicon里的png图标 成 ...

最新文章

  1. 数据结构【图】—024最小生成树
  2. 第十六届全国大学生智能车讯飞智慧餐厅智能车竞赛比赛成绩
  3. python用类名直接调用方法_Python类的实例方法、静态方法、类方法详解,附代码示例...
  4. 【一步一步学习spring】spring bean管理(上)
  5. Python 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
  6. 在S4 key user tool里创建Custom Logic的后台实现
  7. 开源开放 | 中文相对复杂词汇识别数据集RCWI-Dataset(CCKS2021)
  8. 服务器开放特定端口的方法
  9. watch监控,对比新值和旧值做出相应判断
  10. 判别式模型 vs. 生成式模型
  11. 【回归预测】基于matlab GA优化BP回归预测(含优化前的对比)【含Matlab源码 1790期】
  12. 代理池篇(一)获取66免费代理网+西刺代理
  13. 阿里巴巴开源项目汇总-(前端)
  14. 构建OctoberCMS插件:Google Analytics(分析)
  15. Unity 涂涂乐(不使用shader)
  16. Chrome浏览器滚动条样式设置
  17. source insight 多文件并行显示
  18. PYQT5安装时,labelImg执行pyrcc5 -o libs/resources.py resources.qrc 报错:File does not exist ‘resources.qrc‘
  19. 第九篇:真正理解虚拟 DOM:React 选它,真的是为了性能吗?
  20. 远程访问MySql数据库

热门文章

  1. RSD规则法分类识别乡村土路
  2. 【SSL】2299护卫队
  3. 海南大学考研人,你真的马上就要上岸了
  4. Thor与Http catcher介绍
  5. CorelDRAWX4的VBA插件开发(四) 用一个例子了解CORELDRAW-X4的四个基本对象
  6. 爬虫-解析库的使用-Xpath
  7. 随元素而来,随元素而去,变一变样式,深藏功与名——论伪元素
  8. 算法- 递归算法 分治算法
  9. 对视觉显著性检测(Saliency Object Detection)中Channel Attention的一些总结
  10. 怎么用java实现直角三角形,java技术支持 输出一个直角三角形(下三角)