前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >32行代码实现微信聊天机器人

32行代码实现微信聊天机器人

作者头像
企鹅号小编
发布2018-02-28 10:31:07
2.3K0
发布2018-02-28 10:31:07
举报
文章被收录于专栏:编程

智能手机无所不能的今天,聊天机器人大家并不陌生。语音、文字的,随口都能说出几个。记得最早火起来的,当属人人网上的小黄鸡了吧,那个@小黄鸡风靡一时的时代,如今随着人人网一起光影渐去,令人唏嘘。而那些无聊、逗趣、迷茫的懵懂时光,却历久弥新……

今天我们就自己来打造一个微信聊天机器人,给大家带来点乐子哈。借助别人已经写好的Python微信调用库——itchat,我们真正要写的代码很少。在代码运行前cmd里运行pip install itchat即可自动下载安装这个库。

Python程序部分,直接上代码:

只要在图灵机器人网站上申请账号,就可以获得每天1000条在线机器人回复,并且你可以对回复进行高级设定。申请完后,只需从设置里查看调用地址和口令就可以:

好了,程序跑起来了,我们回头分享一点知识上的干货:

一、urllib.request库

urllib.request库是Python3对Python2系列的一次变更,原来叫urllib2,是网络编程的基础类库。经过对比,推荐还没有开始玩Python的小伙伴直接用Python3系列,里面有很多优化。urllib.reques.Request函数用来构造请求,比如制定相应时间、浏览器支持、是否带cookie等。urllib.request.urlopen函数才是真正在访问网页,得到返回数据。

二、json字符串格式

json本质就是个字符串,比如我们请求中国天气网济南(代码:101120101)的天气http://www.weather.com.cn/data/cityinfo/101120101.html时得到的是如下的返回结果。

这是Web上大家约定俗成的一种轻量级的数据返回方式,格式如dic={"键1":值1, "键2":值2, "键3":值3......}。对应到Python中和字典数据类型是完全匹配的,只需要json.loads转化一下,我们就直接可以以索引的形式访问任意字段,支持下标和键名两种索引形式。如,有人发一个点赞表情,图灵机器人回复的{"code":100000,"text":"一般一般,天下第三"},就可以用r["text"]进行访问。

无图无真相,上图

其实itchat库能做的事情,远远不止文字回复功能。抢红包、群管理、人脉梳理分类、撤回消息查看、词云分析等,可以玩的东西很多。这里只是抛砖引玉,各位大咖可以自由发挥。

作者:潘思阔

技术:王俊杰

本文来自企鹅号 - 济南ITEDU媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 济南ITEDU媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档