前言
对于咱们热爱折腾的青年来说,经常会有很多好玩的新奇创意想法,可是,有时候就缺少一个接口,实现交互。比如说,咱们博客的 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...