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

废话不多说,直接上代码:
导入库看看
import json import socket import uuid from urllib.request import urlopen, Request from urllib.parse import urlencode

上图灵官网获取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学习资料、视频()装包

获取聊天返回内容
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
聊天主程序入口
# 聊天程序主入口
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)是不是很简洁和简单呢?大家可以相互学习学习。