admin管理员组文章数量:1794759
教你用python几十行代码编写对话机器人
教你用python几十行代码编写对话机器人
最近闲来无事,就自己写点代码弄了一个对话机器人。当然,这个机器人是基于图灵机器人这个平台的接口的,因为对于我这个小白来说自己编写一个机器人代码还是颇有难度啊哈哈。 说实话这个机器人小姐姐还是有点高冷呢(对了,悄悄告诉你们,机器人的性别、名字和年龄都是可以修改的哦,大家赶快自己去看看吧)
好了,废话不多说,我们先来看看这个机器人是怎么实现的吧。
首先我们先去www.tuling123注册一个账号,然后找到机器人管理页面: 这里可以免费创建一些自己的机器人,不过这些机器人是有单日调用次数限制的,好像是每天一千条,不过对于我们只是玩玩的人来说是绰绰有余啦。然后注意上面的apikey,这就是我们将来要调用的端口的秘钥,把它复制下来备用。
接下来就是我们的代码实现了,这个代码主要完成的还是端口的调用,网上也有一些类似的代码,甚至有可以搭建微信还有qq机器人的代码,不过那些就有些复杂啦,为了方便起见我给大家准备了一个只有几十行的代码给大家作参考(大佬们也可以自己完成啦)
import json import socket import uuid from urllib.request import urlopen, Request from urllib.parse import urlencode class robot(object): def __init__(self): self.turing_url = "www.tuling123/openapi/api?" self.app_key = "这里填写自己的apikey哦" def getTuringText(self, text): user_ip = self.getHostIp() mac_id = self.getMacId() turing_url_data = dict(key = self.app_key, info = text, userid = mac_id) request = Request(self.turing_url + urlencode(turing_url_data)) try: w_data = urlopen(request) except: return error_info response_text = w_data.read().decode("utf-8") json_result = json.loads(response_text) return json_result["text"] def getHostIp(self): socket_info = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) socket_info.connect(("8.8.8.8", 80)) ip = socket_info.getsockname()[0] return ip def getMacId(self): node = uuid.getnode() mac = uuid.UUID(int = node).hex[-12:] return mac if __name__ == '__main__': print("现在可以和机器人聊天了(退出请输q)") turing = robot() while True: msg = input("\\n我:") if msg =='q': exit("聊天结束") else: turing_data = turing.getTuringText(msg) print("机器人:", turing_data)这段代码直接复制到你的集成开发环境就可以直接运行了,记得在里面填写自己机器人的apikey哦,是不是很简单呢?
所以赶紧去问他一些有趣的问题吧!(当然一些非主流的问题他不一定回答的上来哦,毕竟机器人不是人哦)
好了,本教程就到此结束啦,喜欢的小伙伴记得点赞哦,也欢迎志同道合的朋友们关注我和我一起交流。
2019年4月2日
版权声明:本文标题:教你用python几十行代码编写对话机器人 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686868657a112564.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论