Python大佬用20行代码带你打造一个微信聊天机器人(附代码)

近来,打开微信群发消息,就会秒收到一些活跃分子的回复,有的时候感觉对方回答很在理,但是有的时候发现对方的回答其实是驴唇不对马嘴,仔细深究发现,原来对方是机器人。今天,小编就带大家用20行代码,带你一起打造一个微信聊天机器人,让你的微信群一直嗨不停~~

首先我们需要安装一个微信相关的第三方库,itchat,在Windows上通过命令:pip install itchat,就可以将其安装。

其二,我们需要去图灵机器人官网:http://www.tuling123.com,注册一下,即可获得一个机器人API。过程很简单,小伙伴不用担心,两分钟就可以搞定了,在如下的界面进行机器人名称、应用领域、终端进行设置即可。

Python大佬用20行代码带你打造一个微信聊天机器人(附代码)

创建机器人

之后就会得到一个机器人API,如下图所示:

Python大佬用20行代码带你打造一个微信聊天机器人(附代码)

机器人API

当然你也可以绑定微信号、微信公众号或者扣扣、微博等。其实很多的淘宝店、京东商城也都是这种套路,只不过那些机器人更加“聪明”些,比较是高价买入的,而我们使用的只是免费的版本,但是对于我们本着玩玩的心态来说,已经非常不错了。

Python大佬用20行代码带你打造一个微信聊天机器人(附代码)

上述准备工作完成之后,我们就要开始写代码了。打开pycharm,具体代码如下图所示:

import itchat
import requests
def get_response(msg):
apiUrl = 'http://www.tuling123.com/openapi/api'
data = {
'key': '180b4304b4b647d3b1920caf60f', # Tuling Key,API的值
'info': msg, # 发出去的消息
'userid': 'xuebaobao', # 用户名。随意设置
}
r = requests.post(apiUrl, data=data).json() # post请求
return r.get('text')
@itchat.msg_register(itchat.content.TEXT) # 用于接收来自朋友间的对话消息
def print_content(msg):
return get_response(msg['Text'])
@itchat.msg_register([itchat.content.TEXT], isGroupChat=True) # 用于接收群里面的对话消息
def print_content(msg):
return get_response(msg['Text'])
itchat.auto_login(hotReload==True) # 通过微信扫描二维码登录
itchat.run()

之后右键运行程序,尔后会弹出二维码,之后在手机上进行扫码授权,让机器人登录即可。这个过程需要耐心的等待一小会,接下来只要你的微信好友或者微信群发来任何消息,你都会立马自动进行回复,根本停不下来。如果只需要在微信群中回复的话,那么只需要把微信好友接收消息的方法进行注释即可,同理,微信群也是如此。

Python大佬用20行代码带你打造一个微信聊天机器人(附代码)

图灵机器人

最后安利一下,itchat.auto_login()方法。这个方法的意思是通过微信扫描二维码登录。但是这种登录的方式确实短时间的登录,并不会保留登录的状态,也就是下次登录时还是需要扫描二维码,如果加上hotReload==True的话,那么就会保留登录的状态,至少在后面的几次登录过程中不会再次扫描二维码,该参数生成一个静态文件itchat.pkl,和实现机器人这个代码在同一个目录下,其作用是用于存储登录状态。

Python大佬用20行代码带你打造一个微信聊天机器人(附代码)

机器人聊天图

小编亲测之后是非常好使滴,大家都可以尝试一下,感受一下机器人神回答,灰常好玩,哈哈哈~~~

——————- End ——————-

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

手把手教你使用Python生成图灵智能小伙伴,实现工作助手/闲聊功能

/1 前言/

在家闲着,做个小项目,基于Python,实现一个语聊小机器人,分享给大家。项目整体比较简单,官方文档介绍的非常详细,可快速上手。

 

/2 目标/

将图灵机器人放到桌面,实现工作助手/陪聊功能。

 

/3 涉及的库/

V1.0版本:requests、json

V2.0版本:requests、json、selenium(实现功能:如图灵返回结果为url,则自动打开网页)

 

/4 具体实现/

1、创建图灵机器人

图灵机器人的创建在网上有很多方法,因创建图灵机器人非常简单且与Python无关,此处不赘述。

注意:创建机器人后需要认证才能享受每天100条的免费回复。

2、网上有很多API接入教程,如果想随便玩玩的话,用小编的代码就可以了,想实现更多,可以看看API文档。

3、认证成功后找到最关键的apiKey参数。

4、开始写代码了–V1.0版本

首先引入需要的库

import requests
import json
from selenium import webdriver

url为官方文档中指定url

url = 'http://openapi.tuling123.com/openapi/api/v2'

添加请求头

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}

以下为输入内容,参考官方文档格式;

while True:
    aa = input('我:')
    data ={
        "perception": {
            "inputText": {
                "text": aa
            },
            "selfInfo": {
                "location": {
                "city": "济南"}
            }
        },
        "userInfo": {
            "apiKey": "写自己的APIKEY",
            "userId": "随便写几个数字和字母"
        }
    }

while true使聊天无限循环;

变量aa(随便起的)通过input()输入信息,会传入变量“text”中;

“city”填入你所在的城市,可修改为你所在的城市,可以详细到“street”;

userInfo为个人信息,apiKey填写你设置好的机器人的apiKey,userId实测可以随便写,比如‘123456’。

res = requests.post(url,headers=headers,data=json.dumps(data))

以上为解析数据,将字典格式的data变量转换为合法的json字符串传给post的data参数。

 try:
        print('机器人:'+res.json()['results'][0]['values']['text'])
        if aa == '退出':
            break
    except:
        print('机器人:'+res.json()['results'][0]['values']['url'])

以上为输出数据。

如果返回值不是‘text’,则返回‘url’;

如果回复“退出”,则退出循环。

以上为全部代码。

以上为V1.0效果图,可实现查天气、查列车班次、查快递、查酒店、查菜谱、绕口令等功能。

5、V2.0版本

首先安装selenium库,下载好谷歌浏览器。

将chromedriver文件放到Python安装文件下,chromedriver文件可在文末进行获取下载方式。

引入相关库

import requests
import json
from selenium import webdriver

2.0相比1.0仅需添加最后三行代码,三行代码分别是获取url,打开浏览器,用浏览器打开该url,非常简单是不是!

except:
        print('机器人:' + res.json()['results'][0]['values']['url'])   
        url_1 =res.json()['results'][0]['values']['url']
        driver = webdriver.Chrome() 
        driver.get(url_1)

以上是效果展示,非常方便是不是!

最后打包成.exe文件(cmd运行 pyinstaller -F 代码源文件的绝对路径)放到桌面,或者分享给TA!

从此不管风雨,永远有可爱的图灵机器人陪着你(你的TA)!

 

/5 总结/

1、项目整体比较简单,官方文档介绍的非常详细,可快速上手;

2、Webdriver非常实用,很多反爬做的比较好的网站可以用此库破解;

3、官方还提供更多功能等着你去体验

实测微信个人号接入功能,通过微信调用图灵机器人更加方便,但是官方提供的两个三方程序一个收费一个需要挂机。

4、最后感谢图灵机器人,让我们普通人有免费渠道体验AI,体验科技带给人类生活的便捷!

5、需要本文源码和chromedriver.exe的小伙伴。请在公众号后台回复“图灵”二字进行获取。原创不易,感谢您的支持!

6、需要学习更多关于Python网络爬虫的知识,可以前往网站:http://pdcfighting.com/

 

——————- End ——————-

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他