zoukankan      html  css  js  c++  java
  • 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行代码带你打造一个微信聊天机器人(附代码)

    机器人聊天图

    小编亲测之后是非常好使滴,大家都可以尝试一下,感受一下机器人神回答,灰常好玩,哈哈哈~~~
    想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/

  • 相关阅读:
    CentOS 6.5下安装MySQL 5.6.21
    Java文件实时监控Commons-io
    quartz 实例记录
    Quartz任务调度快速入门(转)
    MySQL日期时间函数大全(转)
    struts2 jsp 传参 NullPointerException问题解决
    hibernate cascade=CascadeType.All
    struts2 学习记录 过滤器 国际化
    struts2 struts1.x 区别
    学习 自己的过滤器和监听器
  • 原文地址:https://www.cnblogs.com/dcpeng/p/13047865.html
Copyright © 2011-2022 走看看