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)
是不是很简洁和简单呢?大家可以相互学习学习。