一、demo效果图
如下图所示,通过输入中文词语然后点击翻译按钮就会得到相应的英语单词,核心技术主要是爬虫,涉及到tkinter,布局等知识点,最近学爬虫的可以通过这个小案例来练练手。
二、源代码
from tkinter import *
import tkinter.messagebox
import requests
import json
def translation():
keyword=entry1.get()
if keyword == '':
tkinter.messagebox.showinfo("提示","请输入要翻译的内容")
else:
print("输入一个关键词:"+keyword)
#进行UA伪装
post_header={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'
}
#指定url
post_url = "https://fanyi.baidu.com/sug"
#用字典封装处理url携带的参数
post_data = {
"kw": keyword
}
#请求发送
response = requests.post(url=post_url,data=post_data,headers=post_header)
#获取响应数据,response.text是一组字符串的数据,用json.loads读取该字符串并加载成字典形式
translate = json.loads(response.text)
#提取data中v的翻译结果
result = translate['data'][0]['v']
print("翻译后的结果是:"+result)
var.set(result)
root = Tk()
root.title("中英互译翻译器")
root.geometry('600x150')
label1 = Label(root,text='输入要翻译的文字')
label1.grid()
label2 = Label(root,text='翻译结果')
label2.grid()
entry1 = Entry(root)
entry1.grid(row=0,column=1)
#引用StringVar跟踪变量值的变化
var = StringVar()
entry2 = Entry(root,width=50,textvariable=var)
entry2.grid(row=1,column=1)
button1 = Button(root,text='翻译',width=10,command=translation )
button1.grid(row=2,column=0,sticky=W)
button2 = Button(root,text='退出',width=10,command=root.quit)
button2.grid(row=2,column=1,sticky=E)
root.mainloop()