手把手教你使用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 相关文章推荐
简单的连接MySQL与Python的Bottle框架的方法
Apr 30 Python
Python实现简单多线程任务队列
Feb 27 Python
python中is与双等于号“==”的区别示例详解
Nov 21 Python
Python3结合Dlib实现人脸识别和剪切
Jan 24 Python
基于python3实现socket文件传输和校验
Jul 28 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
Nov 29 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
Jun 19 Python
python关于变量名的基础知识点
Mar 03 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
Mar 16 Python
PyTorch安装与基本使用详解
Aug 31 Python
python实战之一步一步教你绘制小猪佩奇
Apr 22 Python
Python 流媒体播放器的实现(基于VLC)
Apr 28 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
十幅图告诉你什么是PHP引用
2015/02/22 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
javascript静态页面传值的三种方法分享
2013/11/12 Javascript
js中document.write的那点事
2014/12/12 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
python 判断自定义对象类型
2009/03/21 Python
python缩进区别分析
2014/02/15 Python
详解Python中的strftime()方法的使用
2015/05/22 Python
浅析Python3爬虫登录模拟
2018/02/07 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
利用Python如何批量更新服务器文件
2018/07/29 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
python框架flask表单实现详解
2019/11/04 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
2019年分享net面试的经历和题目
2016/08/07 面试题
最新创业融资计划书
2014/01/19 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
交通事故委托书范本
2014/09/28 职场文书
2015年感恩父亲节活动策划方案
2015/05/05 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
25张裸眼3D图片,带你重温童年的记忆,感受3D的魅力
2022/02/06 杂记