

python实战项目,使用itchat模块制作微信聊天机器人
source link: https://blog.popkx.com/python-project-itchat-make-wechat-robot/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

前言
对于咱们热爱折腾的青年来说,经常会有很多好玩的新奇创意想法,可是,有时候就缺少一个接口,实现交互。比如说,咱们博客的 python实战项目,有些的确比较好玩,但是似乎只能在电脑上跑跑程序,怎么运用到实践中呢?
微信公众号似乎是个不错的接口,但是,它需要服务器的80端口去做开发。今天无意发现了这个 itchat
模块,可以让咱们实现用 python操纵微信
,这样,接口就有了,咱们就可以把之前做的几个 python 实战项目应用起来了。
python 模块 itchat 简介
itchat 是一个开源项目,其代码托管在 github 上。itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。使用不到三十行的代码,你就可以完成一个能够处理所有信息的微信机器人。
1. itchat 的安装
可以通过本命令安装itchat:
pip install itchat
2. itchat 简单入门实例
有了itchat,如果你想要给文件传输助手发一条信息,只需要这样:
import itchat
itchat.auto_login()
itchat.send('你好,向日葵智能。', toUserName='filehelper')
如果你想要回复发给自己的文本消息,只需要这样:
import itchat
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
return msg.text
itchat.auto_login()
itchat.run()
python实战项目,itchat 初试
1. 利用 itchat 发送微信信息 “你好,向日葵智能”
新建文件 test.py,写入代码,然后运行:
#encoding=utf8
import itchat
itchat.auto_login()
itchat.send(u'你好,向日葵智能。', toUserName='filehelper')
弹出了一个二维码,用微信扫一扫登录,这里猜测它是利用网页版微信实现的。
扫一扫后,发现的确是网页登录。并且在文件助手里确实收到了发送的信息。
2. 让微信自动重复好友的话
我的微信好友列表里有个好友名叫 robotO,现在咱们做一个工具,自动重复他的话。把 test.py 文件的代码修改如下:
#encoding=utf8
import itchat
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
return u"向日葵智能: %s" % msg.text
itchat.auto_login()
itchat.run()
运行,发现成功了,我的微信收到他的信息后,在前面加上向日葵智能,然后再发送给他。
3. python实战项目,制作微信聊天机器人
(1) 图灵机器人
现在人工智能非常火,有很多种方法可以实现聊天机器人。当然,最方便的方法肯定是利用别人现成的 API。咱们这里以图灵机器人为例,可以免费使用。
#coding=utf8
import requests, json
apiUrl = 'http://www.tuling123.com/openapi/api'
data = {
'key' : '45c62xxxxxxxxxxxxxxx2d2526a3', # Tuling Key 注册后可以免费获得一个
'info' : '向日葵智能', # 这是我们发出去的消息
'userid' : 'www.xrkzn.cn',
}
r = requests.post(apiUrl, data=data)
print r.content
运行python实战项目脚本,得到如下输出:
$ python test.py
{"code":100000,"text":"你好"}
(2)python项目实战,微信聊天机器人
可以看出,图灵机器人返回的是 json 数据。咱们如果要使用,加上 json 解析就可以了。那么,咱们的 python项目实战,微信聊天机器人可以如下完成:
#coding=utf8
import itchat
import requests, json
apiUrl = 'http://www.tuling123.com/openapi/api'
# 根据输入的 content 信息,获取自动回复信息
def GetReply(content):
data = {
'key' : '45c623xxxxxxxxxxxxxx26a3', # Tuling Key 注册后可以免费获得一个
'info' : u'%s'%content, # 这是我们发出去的消息
'userid' : 'www.xrkzn.cn',
}
r = requests.post(apiUrl, data=data)
js = json.loads(r.content)
return js['text']
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
# print GetReply(msg.text)
return GetReply(msg.text)
if __name__ == "__main__":
itchat.auto_login(hotReload=True)
itchat.run()
运行脚本,发现聊天机器人打造完成。
这是一个不错的模块,咱们当然不会浅尝辄止。后续慢慢把咱们的人工智能等 python实战项目
都加进去。keep going...
Recommend
-
58
项目介绍: 灵感来源 在掘金看到了一篇《用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话》后,我就想为什么不用 Python 去实现这个功能呢。 JUST TO IT,说做就做。 这文章的结构也是参考上面这位朋友的。 本来只是写单人的
-
43
2019 第 41 篇,总第 65 篇文章 本文大约 4000 字,阅读大约需要 12 分钟 最...
-
15
python实战项目,struct模块的使用,将MNIST数据集转换为bmp图片 发表于 201...
-
9
实战经验分享:使用 PyO3 来构建你的 Python 模块发布于 10 月 14 日PyO3 主要用于创建原生 Python 的扩展模块。PyO3 还支持从 Rust 二进制文件运行 Python 代码并...
-
6
在基于Vue的工作流项目模块中,我们在查看表单明细的时候,需要包含公用表单信息,特定表单信息两部分内容。前者表单数据可以统一呈现,而后者则是不同业务的表单数据不同。为了实现更好的维护性,把它们分开作为两部分处理,但是页面入口设计为统一的呈现页面...
-
6
用Python加itchat写一个爬虫脚本每天定时给朋友发微信暖心话 ...
-
11
Mr.Feng BlogNLP、深度学习、机器学习、Python、Go一个有趣的开源项目:itchat使用介绍推荐一下Python的微信客户端,可以做很有趣的微信机器人。 i...
-
7
之前接触过的项目大都是单体应用,各应用之间有功能重合但无代码共用。同样的功能,要么重复开发,要么代码拷贝,开发繁琐且效率低下。一但在多个应用中均有使用的相同的代码出现了 bug,开发人员更是要在多个应用中逐个修复,劳神伤身。 故引入模块化开发概...
-
3
一文搞懂 Python 的模块和包,在实战中的最佳实践 ...
-
7
【Python微信机器人】第六七篇: 封装32位和64位Python hook框架实战打印微信日志 ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK