用 Python 实现聊天机器人(tkinter+urllib)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用 Python 实现聊天机器人(tkinter+urllib),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2776字,纯文字阅读大概需要4分钟。
内容图文
这篇文章将使用 Python 的 urllib 模块 和 tkinter 模块实现一个聊天机器人。
本程序使用的模块有:
import tkinter
from tkinter import*
from tkinter.colorchooser import askcolor
from tkinter import messagebox
from tkinter import scrolledtext
import urllib.request
import urllib.parse
聊天机器人设置
本程序使用了茉莉聊天机器人,通过爬虫爬取回复。
茉莉聊天机器人可以自己申请,申请链接:http://www.itpk.cn/ 申请过程本文不作介绍。
如不想申请,可以用本文的
1.对发送信息进行设置
首先要对发送的信息进行转换,否则无法打开网页,无法爬取。转换方式很简单,如下:
urllib.parse.quote_plus(string)
2.爬取网页
已知茉莉聊天机器人的请求格式如下:
http://i.itpk.cn/api.php?api_key= 申请的ApiKey &api_secret= 密码 &question= 问题
所以,爬虫代码为:
urllib.request.urlopen("http://i.itpk.cn/api.php?api_key=ac00db995a4a8f2a3f3623c82f3cc9d9&api_secret=anaoutswrz1y&question=" + urllib.parse.quote_plus(string)).read().decode("utf-8")
注意:由于网页编码为 utf-8 ,所以要对其解码。
tkinter 窗口设置
tkinter 窗口就不多说了,上代码:
root=Tk()
root.geometry('800x500')
root.title("聊天机器人")
textEdit=scrolledtext.ScrolledText(root,bd=data["message"]["bd"],font=data["message"]["font"],height=1)
textEdit.pack(expand=YES,fill=BOTH)
textEdit.config(state='disabled')
question=Entry(root,bd=data["question"]["bd"],font=data["question"]["font"])
question.pack(fill=BOTH)
send=Button(root,text='发送',command=go,bd=4,font=("华文新魏",18))
send.pack(anchor=SE)
menu = Menu(root)
root.config(menu = menu)
bot = Menu(menu)
bot.add_command(label='程序信息', command=about)
bot.add_command(label='帮助', command=helper)
menu.add_cascade(label= '关于', menu = bot)
root.mainloop()
函数
这里有一些功能函数,代码:
try:
#核心函数,爬虫爬取回复
def chat(string):
import urllib.request
import urllib.parse
return urllib.request.urlopen("http://i.itpk.cn/api.php?api_key=ac00db995a4a8f2a3f3623c82f3cc9d9&api_secret=anaoutswrz1y&question=" + urllib.parse.quote_plus(string)).read().decode("utf-8")
#关于
def about():
messagebox.showinfo('关于聊天机器人','开发者:***\n开发日期:**** 年 ** 月')
#主函数
def go():
q=question.get()
question.delete(0, END)
if q.replace(" ","")=="":
messagebox.showwarning('警告',"不能发送空白信息!")
return
textEdit.config(state='normal')
textEdit.insert(END,"我:"+q+"\n")
textEdit.insert(END,"茉莉:"+chat(q)+"\n")
textEdit.see(END)
textEdit.config(state='disabled')
#帮助
def helper():
messagebox.showinfo('关于聊天机器人','使用说明:\n1.在底下的发送框输入信息;\n2.点击“发送”按钮发送消息;\n3.聊天机器人回复。\n\n注意事项:\n1.程序不能回车发送\n2.使用时请连接网络\n3.回复个别问题可能出现乱码,请见谅')
else:
pass
完整代码
以上就是全部内容了,如需下载源代码请点击此处
(https://download.csdn.net/download/weixin_45462161/12131279)
张 浩 然 发布了1 篇原创文章 · 获赞 0 · 访问量 22 私信 关注
内容总结
以上是互联网集市为您收集整理的用 Python 实现聊天机器人(tkinter+urllib)全部内容,希望文章能够帮你解决用 Python 实现聊天机器人(tkinter+urllib)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。