微信,一个日活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库开发微信机器人的一些感受吧!

笔者用自己的大号测试了一周,也没有出现被封的迹象,只要不发送大量的相同信息就没问题

即使出现被封也只是会限制你微信登录网页版,手机端不影响使用,正常使用大概一两周就自动解封

最好用小号测试,据说2018年及以后注册的微信号都不可以登微信网页版,也就是说不能用测试

微信网页版有些功能被阉割了,比如:添加好友,拉人入群等,因为怕微商使用机器人到处作恶所以才阉割

目前只开发了一个功能,先让大家入门,后面的功能会慢慢丰富起来

目前wxpy基于微信网页登录,很多功能无法实现,后期考虑跟换成iPad登录

图灵机器人智商有待提高

用python创建微信机器人_手把手教你用Python创建微信机器人相关推荐

  1. python数据预测代码_手把手教你用Python玩转时序数据,从采样、预测到聚类丨代码...

    原标题:手把手教你用Python玩转时序数据,从采样.预测到聚类丨代码 原作 Arnaud Zinflou 郭一璞 编译 时序数据,也就是时间序列的数据. 像股票价格.每日天气.体重变化这一类,都是时 ...

  2. python自助电影售票机_手把手教你用python抢票回家过年(代码简单)

    首先看看如何快速查看剩余火车票? 当你想查询一下火车票信息的时候,你还在上12306官网吗?或是打开你手机里的APP?下面让我们来用Python写一个命令行版的火车票查看器, 只要在命令行敲一行命令就 ...

  3. python进行数据预测_手把手教你用Python进行时间序列分解和预测

    原标题:手把手教你用Python进行时间序列分解和预测 作者:Mohit Sharma 翻译:数据派THU-王闯(Chuck) 预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列 ...

  4. python如何编游戏_手把手教你用python写游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,项目来自 ...

  5. python时间序列动图_手把手教你用Python进行时间序列分解和预测

    来源:数据派THU(ID:DatapiTHU) ▔ 作者:Mohit Sharma 翻译:王闯(Chuck) 校对:王可汗 预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列预测 ...

  6. python特征工程插件_手把手教你用Python实现自动特征工程

    任何参与过机器学习比赛的人,都能深深体会特征工程在构建机器学习模型中的重要性,它决定了你在比赛排行榜中的位置. 特征工程具有强大的潜力,但是手动操作是个缓慢且艰巨的过程.Prateek Joshi,是 ...

  7. python如何训练模型生产_手把手教你用Python构建你的第一个多标签图像分类模型(附案例)...

    你正在处理图像数据吗?我们可以使用计算机视觉算法来做很多事情: 对象检测 图像分割 图像翻译 对象跟踪(实时),还有更多-- 这让我思考--如果一个图像中有多个对象类别,我们该怎么办?制作一个图像分类 ...

  8. python预测实例教程_手把手教你用Python库Keras做预测(附代码)-阿里云开发者社区...

    当你在Keras中选择好最合适的深度学习模型,就可以用它在新的数据实例上做预测了.但是很多初学者不知道该怎样做好这一点,我经常能看到下面这样的问题: "我应该如何用Keras对我的模型作出预 ...

  9. python怎么爬虎牙_手把手教你利用Python爬取虎牙平台数据

    首先打开我们所需要爬取的网站,这里我们挑选的是虎牙直播. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道 ...

最新文章

  1. 居住7年未交一分钱天然气使用费 女房主替租户偿还近4万元欠款
  2. 硬盘突然提示没有初始化_分享一下固态硬盘不认盘的修复方法
  3. 用Php设置Iptables,如何使用CSF添加自定义iptables规则
  4. http headers详解
  5. Linux查询系统运行的时间
  6. 虚拟地址空间以及编译模式
  7. ios 按钮图片充满按钮_iOS有一些非常危险的按钮-UX评论
  8. 2018.09.15 vijos1053Easy sssp(最短路)
  9. python 全栈开发,Day54(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)...
  10. 狼人杀微信娱乐游戏小程序源码
  11. 2020腾讯秋招笔试编程题--压缩算法
  12. 面经-应届生秋招上岸笔记(低难度 带项目版)
  13. 计算机主机硬盘的拆装,机械硬盘怎么拆开?机械硬盘拆卸方法
  14. 基础测绘1:10000成果检验需注意的问题
  15. 炒白菜怎么做(保姆级教程 爸妈吃了都说好)
  16. K8s 之 ReadinessProbe(就绪探针)使用的迷惑
  17. 使用DiskMan(DiskGen)恢复被删除的分区
  18. 狂神系列之HTML学习笔记
  19. linux云计算架构师:搭建DHCP服务和NTP网络时间同步
  20. 商业图表案例8-全球十大电影成本收益

热门文章

  1. html内嵌子页面并配合CGI进行页面更新
  2. IE8浏览器为什么没有工具-internet选项
  3. python menu_Python——Menu控件
  4. 【Python实战】数据预处理(数据清理、集成、变换、归约)
  5. 从程序员到CTO的Java技术路线图(转)
  6. 51 PWM调速蓝牙小车
  7. 数据库常用字段、列属性、表类型与SQLyog工具的使用
  8. SVN Working copying #39;xxxxx/xxxx/xxxx#39; locked
  9. acml会议级别_人工智能领域的顶级学术会议大全(二)
  10. 【值得收藏】如此心机的老婆,不难教出一个优秀的女儿。谁娶了都是福。