手把手教你使用Python创建微信机器人


Posted in Python onApril 29, 2019

微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地,今天我们要将便是如何用Python来生成一个微信机器人,突然想起鲁迅先生曾经说过的一句话:

手把手教你使用Python创建微信机器人

因为是微信机器人系列的第一篇文章,所以猪哥会特别详细的讲解每一地方,尽量使每一位想学习的同学都能顺顺利利的开始,下面就让我们一起来做些有趣的事吧!

手把手教你使用Python创建微信机器人

一、项目介绍

1.微信库选择

python关于开发微信的库主要有itchatwxpy,而wxpy底层是调用的itchat,所以如果你只是要使用的话建议使用wxpy库,它比其他的库都要优雅,更面向对象,而且深度整合了图灵机器人小i机器人;而itchat扩展性更好,如果你想自己开发一个自己的微信库那建议选itchat

2.实现原理

我相信有不少同学使用过微信的网页版,而wxpy(底层使用itchat)库就是模拟登录网页端,然后调用微信的api实现操作的,我们可以查看itchat源码发现。

手把手教你使用Python创建微信机器人
手把手教你使用Python创建微信机器人

总之大家记住,目前wxpyitchat都是模拟网页版微信来操作的。

3.图灵机器人

既然可以模拟网页微信了,那又如何做到自动回复呢?这里我们就使用到了图灵机器人,大家可以在他们的官网(http://www.tuling123.com)免费注册账号,然后申请一个免费的机器人,每个人最多免费申请五个机器人。

手把手教你使用Python创建微信机器人

我会在项目代码中给一个默认的apikey,让大家不用下载就可以尝试,但是还是建议自己去申请,因为这个默认的apikey有调用次数限制,况且这算是一笔免费的财富呢!

4.整体流程

为了方便大家理解,猪哥给大家画了一个时序图

手把手教你使用Python创建微信机器人

二、项目代码

先来张项目结构图压压惊:

手把手教你使用Python创建微信机器人

1.下载项目

猪哥已经把项目放在了GitHub上,群里有小伙伴反馈不会使用github,这里我就详细讲一下如何从github上下载项目。

注意:github与git不是同一个东西,github是全球最大的同性恋交友论坛,在这里我们不比颜值与财富,只比谁的项目star多,star越多也就说明你越吸引同性的喜欢与爱慕,甚至连你的同事也会爱上你!而git是项目管理工具,github上的项目就是用git来管理,项目管理工具另一派系是svn。

手把手教你使用Python创建微信机器人

首先找到你需要下载的项目,然后点击Clone or download,然后点击右侧的复制按钮,猪哥这个项目的地址是:https://github.com/pig6/wxrobot

手把手教你使用Python创建微信机器人

然后打开你的pycharm,选择CSV->Checkout from version control->git,然后粘贴刚才复制的项目链接。

手把手教你使用Python创建微信机器人
手把手教你使用Python创建微信机器人

最后pycharm可能会提示你使用 新窗口打开 还是用 当前窗口 打开,猪哥一般习惯使用 新窗口(New Window) 打开,这样可以避免多个项目开发时造成混乱。

2.下载wxpy库

项目下载下来之后,因为没有安装必须的库wxpy,pycharm可能会有如下提示,这时我们点一下install就可以。

手把手教你使用Python创建微信机器人

如果没有出现安装库提示的话,我们可以在Setting->Project->Project Interpreter里面添加wxpy库。

手把手教你使用Python创建微信机器人

或者使用以下命令下载wxpy库,如果你是pip3则替换下面的pip。

pip install -U wxpy -i “https://pypi.doubanio.com/simple/”

3.运行项目

你可以按右上角的绿色三角形按钮,也可以右键项目然后点击run

手把手教你使用Python创建微信机器人

运行之后弹出登录二维码,手机微信扫一扫点击确定登录即可和好友聊天。

手把手教你使用Python创建微信机器人

三、总结

首先感谢大家的耐心阅读,考虑到有很多零基础的同学所以文章有点长。

猪哥来总结下这几天使用wxpy库开发微信机器人的一些感受吧!

猪哥用自己的大号测试了一周,也没有出现被封的迹象,只要不发送大量的相同信息就没问题即使出现被封也只是会限制你微信登录网页版,手机端不影响使用,正常使用大概一两周就自动解封最好用小号测试,一年以内注册的微信号不可以登微信网页版,也就是说不能用测试微信网页版有些功能位阉割了,比如:添加好友,拉人入群等,因为怕微商使用机器人到处作恶所以才阉割目前只开发了一个功能,先让大家入门,后面的功能会慢慢丰富起来目前wxpy基于微信网页登录,很多功能无法实现,后期考虑跟换成iPad登录图灵机器人智商有待提高最后感谢武亚飞同学提供的微信小号

Github项目地址:https://github.com/pig6/wxrobot(或点击阅读原文)

wxpy官方文档:https://wxpy.readthedocs.io/zh/latest

以上所述是小编给大家介绍的使用Python创建微信机器人,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python with的用法
Aug 22 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
python安装Scrapy图文教程
Aug 14 Python
为什么Python中没有"a++"这种写法
Nov 27 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
基于Python实现签到脚本过程解析
Oct 25 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
Python数据可视化:泊松分布详解
Dec 07 Python
windows支持哪个版本的python
Jul 03 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
Pyecharts 中Geo函数常用参数的用法说明
Feb 01 Python
python SOCKET编程基础入门
Feb 27 Python
python实现微信防撤回神器
Apr 29 #Python
python实现文件助手中查看微信撤回消息
Apr 29 #Python
Python实现微信消息防撤回功能的实例代码
Apr 29 #Python
python控制nao机器人身体动作实例详解
Apr 29 #Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 #Python
解决Python找不到ssl模块问题 No module named _ssl的方法
Apr 29 #Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 #Python
You might like
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
PHP的开发框架的现状和展望
2007/03/16 PHP
PHP超级全局变量数组小结
2012/10/04 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
jQuery之Deferred对象详解
2014/09/04 Javascript
jQuery ajax serialize() 方法使用示例
2014/11/02 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
JSONP原理及简单实现
2016/06/08 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
js中实现继承的五种方法
2021/01/25 Javascript
Python中处理时间的几种方法小结
2015/04/09 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
python 异步async库的使用说明
2020/05/04 Python
Python 读取位于包中的数据文件
2020/08/07 Python
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
优秀员工表扬信
2014/01/17 职场文书
学习焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
教师节表彰会主持词
2015/07/06 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
Python机器学习之KNN近邻算法
2021/05/14 Python
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android
解决Redis启动警告问题
2022/02/24 Redis
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技