Python创建微信机器人
微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地,今天我们要将便是如何用Python来生成一个微信机器人,突然想起鲁迅先生曾经说过的一句话:
因为是微信机器人系列的第一篇文章,所以猪哥会特别详细的讲解每一地方,尽量使每一位想学习的同学都能顺顺利利的开始,下面就让我们一起来做些有趣的事吧!
一、项目介绍
1.微信库选择
python关于开发微信的库主要有itchat和wxpy,而wxpy底层是调用的itchat,所以如果你只是要使用的话建议使用wxpy库,它比其他的库都要优雅,更面向对象,而且深度整合了图灵机器人和小i机器人;而itchat扩展性更好,如果你想自己开发一个自己的微信库那建议选itchat。
2.实现原理
我相信有不少同学使用过微信的网页版,而wxpy(底层使用itchat)库就是模拟登录网页端,然后调用微信的api实现操作的,我们可以查看itchat源码发现。

总之大家记住,目前wxpy和itchat都是模拟网页版微信来操作的。
3.图灵机器人
既然可以模拟网页微信了,那又如何做到自动回复呢?这里我们就使用到了图灵机器人,大家可以在他们的官网(http://www.tuling123.com)免费注册账号,然后申请一个免费的机器人,每个人最多免费申请五个机器人。
我会在项目代码中给一个默认的apikey,让大家不用下载就可以尝试,但是还是建议自己去申请,因为这个默认的apikey有调用次数限制,况且这算是一笔免费的财富呢!
4.整体流程
为了方便大家理解,猪哥给大家画了一个时序图
二、项目代码
先来张项目结构图压压惊:
1.下载项目
猪哥已经把项目放在了GitHub上,群里有小伙伴反馈不会使用github,这里我就详细讲一下如何从github上下载项目。
注意:github与git不是同一个东西,github是全球最大的同性恋交友论坛,在这里我们不比颜值与财富,只比谁的项目
star多,star越多也就说明你越吸引同性的喜欢与爱慕,甚至连你的同事也会爱上你!而git是项目管理工具,github上的项目就是用git来管理,项目管理工具另一派系是svn。

首先找到你需要下载的项目,然后点击Clone or download,然后点击右侧的复制按钮,猪哥这个项目的地址是:https://github.com/pig6/wxrobot
然后打开你的pycharm,选择CSV->Checkout from version control->git,然后粘贴刚才复制的项目链接。

最后pycharm可能会提示你使用 新窗口打开 还是用 当前窗口 打开,猪哥一般习惯使用 新窗口(New Window) 打开,这样可以避免多个项目开发时造成混乱。
2.下载wxpy库
项目下载下来之后,因为没有安装必须的库wxpy,pycharm可能会有如下提示,这时我们点一下install就可以。
如果没有出现安装库提示的话,我们可以在Setting->Project->Project Interpreter里面添加wxpy库。
或者使用以下命令下载wxpy库,如果你是pip3则替换下面的pip。
pip install -U wxpy -i “https://pypi.doubanio.com/simple/”
3.运行项目
你可以按右上角的绿色三角形按钮,也可以右键项目然后点击run。
运行之后弹出登录二维码,手机微信扫一扫点击确定登录即可和好友聊天。
三、总结
首先感谢大家的耐心阅读,考虑到有很多零基础的同学所以文章有点长。
猪哥来总结下这几天使用wxpy库开发微信机器人的一些感受吧!
- 猪哥用自己的大号测试了一周,也没有出现被封的迹象,只要不发送大量的相同信息就没问题
 - 即使出现被封也只是会限制你微信登录网页版,手机端不影响使用,正常使用大概一两周就自动解封
 - 最好用小号测试,一年以内注册的微信号不可以登微信网页版,也就是说不能用测试
 - 微信网页版有些功能位阉割了,比如:添加好友,拉人入群等,因为怕微商使用机器人到处作恶所以才阉割
 - 目前只开发了一个功能,先让大家入门,后面的功能会慢慢丰富起来
 - 目前wxpy基于微信网页登录,很多功能无法实现,后期考虑跟换成iPad登录
 - 图灵机器人智商有待提高
 - 最后感谢武亚飞同学提供的微信小号
 
Github项目地址:https://github.com/pig6/wxrobot(或点击阅读原文)
wxpy官方文档:https://wxpy.readthedocs.io/zh/latest
请大家转发分享出去,让想学习的同学能免费学习~
Python创建微信机器人的更多相关文章
- python+爬虫+微信机器人 打造属于你的网购价格监督利器
		
写在最前 程序是为人类服务的,最近正好身边小伙伴们在做球衣生意,当然是去nikenba专区购买了,可是有些热门球衣发布几分钟就被抢完,有些折扣球衣也是很快就被抢售一空,那么我们只能靠自己的眼睛一直盯着 ...
 - 你的网购价格监督利器——python+爬虫+微信机器人
		
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:风,又奈何 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...
 - Python自制微信机器人:群发消息、自动接收好友
		
运营公众号也有半年了,今年5月份开始的,之前一直用一款windows工具来运营自动接受好友请求.群发文章.自动回复等操作,但颇有不便. 举几个场景: 突然在外面看到一篇文章很好,临时写了一篇,想群发一 ...
 - 用python自制微信机器人,定时发送天气预报
		
0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己.最近无意中发现了wxpy库,用它来做再合适不过了.以下是w ...
 - phantomjs + python 打造一个微信机器人
		
phantomjs + python 打造一个微信机器人 1.前奏 媳妇公司不能上网,但经常需要在公众号上找一些文章做一些参考,需要的时候就把文章链接分享给我,然后我在浏览器打开网页,一点点复制过 ...
 - 用python玩微信(聊天机器人,好友信息统计)
		
1.用 Python 实现微信好友性别及位置信息统计 这里使用的python3+wxpy库+Anaconda(Spyder)开发.如果你想对wxpy有更深的了解请查看:wxpy: 用 Python 玩 ...
 - python 微信机器人,微信自动回复
		
使用python现成的模块 itchat,可以实现,微信机器人的自动回复 其内部原理,是模拟了web版微信的登录,然后进行消息的接收发送,并不是只能用python实现,其他后端语言都可以做到 下面是使 ...
 - Python给我的小伙伴来个微信机器人
		
[本文出自天外归云的博客园] 安装wxpy 首先你得去图灵机器人官网上注册个账号,登录后在机器人设置里面会有一个api_key,下文会用到! 然后说开发环境,我用的是python3环境,事先需要安装一 ...
 - Python微信机器人
		
Python微信机器人 本文目录 一 简介 二 登录微信 三 微信好友男女比例 四 微信好友地域分布 五 微信聊天机器人 一 简介 wxpy基于itchat,使用了 Web 微信的通讯协议,,通过大量 ...
 
随机推荐
- HttpDNS的坑以及一个针对安卓不太完善的测试方案
			
背景:单位因为域名劫持(具体表象是某个地区的用户ping不通域名或者因为DNS解析的ip跨网段导致访问速度很慢)需要运维经常去定位,于是提出了httpDNS方案. 想法是美好的,现实是残酷的.没引入这 ...
 - 图片滚动(UP)的JS代码详解(offsetTop、scrollTop、offsetHeigh)【转】
			
源地址 信息技术教材配套的光盘里有一段设置图片滚动的JS代码,与网络上差不多,实现思路:一个设定高度并且隐藏超出它高度的内容的容器demo,里面放demo1和 demo2,demo1是滚动内容,dem ...
 - Effective C++ 读书笔记(39-45)
			
条款三十九:明智而审慎的使用private继承 1.C++裁定凡是独立(非附属)对象都必须有非零大小. class Empty{};//没有数据,所以其对象应该不使用任何内存 class HoldAn ...
 - python  while 循环语句
			
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句-- 执行语句可以是单个语句或语句 ...
 - 用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识 (2) + 准备项目
			
上一部分预备知识在这 http://www.cnblogs.com/cgzl/p/9010978.html 如果您对ASP.NET Core很了解的话,可以不看本文, 本文基本都是官方文档的内容. A ...
 - Java开源生鲜电商平台-支付模块的设计与架构(源码可下载)
			
Java开源生鲜电商平台-支付模块的设计与架构(源码可下载) 开源生鲜电商平台支付目前支持支付宝与微信.针对的是APP端(android or IOS) 1. 数据库表设计. 说明:无论是支付宝还 ...
 - WebApiClient库支持AOT
			
1 库简介 WebApiClient是开源在github上的一个http客户端库,内部基于HttpClient开发,只需要定义c#接口(interface),并打上相关特性,即可异步调用http-ap ...
 - 对C#热更新方案ILRuntime的探究
			
转载请标明出处:http://www.cnblogs.com/zblade/ 对于游戏中的热更,目前主流的解决方案,分为Lua(ulua/slua/xlua/tolua)系和ILRuntime代表的c ...
 - 重写equals时,遵守的规定
			
0 正确的equals方法 public class MyClass { // 主要属性1 private int primaryAttr1; // 主要属性2 private int prima ...
 - Activity的运行过程
			
今天看到了这个关于Activity的过程这个方面的知识,之前我其实也是做过安卓项目的,也是有安卓开发的一定经验的,但是我发现之前似乎是知其然,而不知其所以然,之前来说只知道activity里的onCr ...