原理:
在使用金山PDF的时候发现,里面的取词翻译是使用的iCIBA(爱词霸),而且翻译的非常准确。就尝试了一下在线翻译。网址:http://fy.iciba.com/?from=wps_client_translate
在左侧输入单词的时候,在开发者工具里面抓取了一下信息,发现原理非常简单。
完整代码:
import requests
from tkinter import *
def translate():
url="http://fy.iciba.com/ajax.php?a=fy"
header={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
}
data={
"f":"auto",
"t":"auto",
"w":entry.get()
}
response=requests.get(url=url,params=data,headers=header)
#print(response.json())
print(response.json()['content']['word_mean'])
for i in response.json()['content']['word_mean']:
text.insert(END,i)
text.see(END)
text.update()
root = Tk()
root.title("爱词霸在线翻译")
root.geometry("550x400+550+230")
label = Label(root, text="输入要翻译的内容", font=('宋体', 15))
label.grid()
entry = Entry(root, font=('微软雅黑', 20))
entry.grid(row=0, column=1)
text = Listbox(root, font=("微软雅黑", 15), width=45, height=10)
text.grid(row=1, columnspan=2)
button = Button(root, text="开始翻译", font=("微软雅黑", 15),command=translate)
button.grid(row=2, column=0, sticky=W)
button1 = Button(root, text="退出", font=("微软雅黑", 15), command=root.quit)
button1.grid(row=2, column=1, sticky=E)
mainloop()