教你怎么用Python创建一个图灵机器人聊天,让你摆脱寂寞

wxljjfcyl 2019-03-15

前言

大家有时候是不是会觉得很无聊,没有人跟聊天,只能刷刷抖音等等一些娱乐工具,现在来教大家一个简单python代码生成机器人和你尬聊,既能摆脱寂寞又可以让自己提高技术,何乐不为呢?

教你怎么用Python创建一个图灵机器人聊天,让你摆脱寂寞

废话不多说,直接上代码:

导入库看看

import json
import socket
import uuid
from urllib.request import urlopen, Request
from urllib.parse import urlencode

教你怎么用Python创建一个图灵机器人聊天,让你摆脱寂寞

上图灵官网获取API和密钥

class TuringChatMode(object):
 def __init__(self):
 # API接口地址
 self.turing_url = 'http://www.tuling123.com/openapi/api?'
 # AppKey密钥
 self.app_key = '82622364a28142878dd8ad634eec401c'

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习python或者有兴趣学习python的伙伴可以私信回复小编“学习” 领取全套免费python学习资料、视频()装包

教你怎么用Python创建一个图灵机器人聊天,让你摆脱寂寞

获取聊天返回内容

def getTuringText(self, text):
 """获取聊天返回内容"""
 # 用户IP
 user_ip = self.getHostIp()
 # MAC地址
 mac_id = self.getMacId()
 # 请求参数
 turing_url_data = dict(
 # AppKey密钥
 key=self.app_key,
 # 聊天请求内容
 info=text,
 # 用户唯一标志(可以传IP地址或者MAC地址,或者其他的唯一标识)
 userid=mac_id
 )
 # 发送聊天请求
 request = Request(self.turing_url + urlencode(turing_url_data))
 try:
 w_data = urlopen(request)
 except Exception as error_info:
 return error_info
 response_text = w_data.read().decode('utf-8')
 json_result = json.loads(response_text)
 return json_result['text']

获取用户ID和MAC地址

def getHostIp(self):
 """获取用户IP"""
 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):
 """获取MAC地址"""
 node = uuid.getnode()
 mac = uuid.UUID(int=node).hex[-12:]
 return mac

教你怎么用Python创建一个图灵机器人聊天,让你摆脱寂寞

聊天主程序入口

# 聊天程序主入口
if __name__ == '__main__':
 print("您可以和机器人聊天了(退出请输入q)")
 turing = TuringChatMode()
 while True:
 msg = input("
我:")
 # 设定输入q,退出聊天。
 if msg == 'q':
 exit("聊天结束!")
 else:
 turing_data = turing.getTuringText(msg)
 print("机器人:", turing_data)

是不是很简洁和简单呢?大家可以相互学习学习。

相关推荐