教你用python几十行代码编写对话机器人

最近闲来无事,就自己写点代码弄了一个对话机器人。当然,这个机器人是基于图灵机器人这个平台的接口的,因为对于我这个小白来说自己编写一个机器人代码还是颇有难度啊哈哈。

说实话这个机器人小姐姐还是有点高冷呢(对了,悄悄告诉你们,机器人的性别、名字和年龄都是可以修改的哦,大家赶快自己去看看吧)

好了,废话不多说,我们先来看看这个机器人是怎么实现的吧。

首先我们先去http://www.tuling123.com注册一个账号,然后找到机器人管理页面:

这里可以免费创建一些自己的机器人,不过这些机器人是有单日调用次数限制的,好像是每天一千条,不过对于我们只是玩玩的人来说是绰绰有余啦。然后注意上面的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 = "http://www.tuling123.com/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对话机器人怎么搭建代码语言库_教你用python几十行代码编写对话机器人相关推荐

  1. python玩王者荣耀皮肤碎片怎么获得_教你用Python代码免费获取王者荣耀全英雄皮肤...

    本篇推文共计3000个字,阅读时间约3分钟. 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为当下最火的手机游戏, 我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即 ...

  2. python程序编程千分符号怎么输入_教你用Python来玩“微信跳一跳”瞬间千分……已开源...

    2017年12月28日下午,微信发布了 6.6.1 版本,加入了「跳一跳」这款小游戏. 玩了几十局,最高也就70多分 有的好友可以玩到几百分到几千分 ... 表示自己好笨 随即发了朋友圈 好友发来了这 ...

  3. python pil png合成gif储存时变黑_教你用Python花式搞定二维码

    导读 在前两期中我们已经讲述了条形码和二维码的相关内容,本期将使用MyQR和qrcode制作二维码. MyQR 库是 Python 中最流行的二维码制作函数库.它通过一个简单的函数就可生成生动有趣的二 ...

  4. 学python买什么书-Python爬虫入门看什么书好 小编教你学Python

    Python爬虫入门看什么书好 小编教你学Python 时间:2018-01-12     来源:Python爬虫入门讲解 生活在21世纪的互联网时代,各类技术的发展可谓是瞬息万变,这不今天编程界又出 ...

  5. Python人脸识别黑科技(二):教你使用python+Opencv完成人脸解锁

    继上一篇"Python人脸识别黑科技(一):50行代码运用Python+OpenCV实现人脸追踪+详细教程+快速入门+图像识",那么今天我们来讲关于使用python+opencv+ ...

  6. python库_计算机二级教程 Python语言程序设计,第10章python第三方库概览

    第十章学习知识导图 考点主要是: 1) 第三方库的获取和安装 2) 脚本程序转变为可执行程序的第三方库 : PyInstaller库(必选) 3) 第三方库: jieba库(必选).wordcloud ...

  7. python画美女代码_教你用python爬取网站美女图(附代码及教程)

    我前几篇文章都是说一些python爬虫库的用法,还没有说怎样利用好这些知识玩一些好玩的东西.那我今天带大家玩好玩又刺激的,嘻嘻!对了,requests库和正则表达式很重要的,一定要学会!一定要学会!! ...

  8. python打代码运行图形_利用aardio给python编写图形界面

    前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了. 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有"特色& ...

  9. python好用的第三方库_非常有用的 Python 第三方库

    http requests 易读易懂的 http libary django-rest-framework 基于django 用以构建web api eve 基于Flask, mongodb的 RES ...

最新文章

  1. mysql主从同步 sql_mysql主从同步报错;Slave_SQL_Running: No
  2. python处理字符_常用python字符串处理
  3. java中file_详细介绍Java中的File类
  4. [导入]将Byte数组转化为String
  5. (function($){...})(jQuery)是什么意思 ——jQuery插件
  6. 使用python连接kafka
  7. Linux字符设备驱动中container_of宏的作用
  8. WPF RichTextBox设置文本颜色
  9. 2022电工杯A题利用启发式算法寻优
  10. 学计算机买什么书好,学电脑基础知识买什么书好?
  11. [论文阅读] 激光点云分割-RPVNet
  12. Teststand中那些和LabVIEW里不一致的让人疑惑的规则
  13. 解决 开发小程序时报错 Page ... has not been registered yet.
  14. 在css表格怎么居中对齐,css居中和对齐方法集锦
  15. AiHi+翼次元学院儿童自然感知实践“几米小甜田”+优慧码| Wit++
  16. android代码计时,android秒表计时代码
  17. matplotlib漫画风格(XKCD)
  18. 【burpsuite安全练兵场-服务端8】文件上传漏洞-7个实验(全)
  19. Android:ButterKnife的简单使用
  20. 设计模式二:创建型-工厂模式

热门文章

  1. 2020进大厂难?教你投的简历比别人通过概率高
  2. python beautifulsoup4 table tr_使用python的BeautifulSoup解析“tbody/tr/td”
  3. 火狐浏览器非常实用的小插件
  4. 快手直播电商2.0时代:从「货」到「人」,重构商品交易逻辑
  5. Word 标题编号变成竖线的解决方案
  6. 深入理解 Vector
  7. setCapture和releaseCapture的小应用(转)
  8. 电脑桌面只剩回收站和计算机,如果计算机重新加载后,桌面上只有一个回收站,该怎么办?...
  9. android edittext密码类型,显示Edittext中的密码
  10. 世纪互联发布2021年第一季度财报:营收14亿,连续5年巨额亏损