|
|
发表于 2020-2-8 12:39:38
|
显示全部楼层
本帖最后由 一个账号 于 2020-2-8 13:08 编辑
[b]有一些可变的是不用写的。
- # -*-coding:utf-8-*-
- import urllib.request
- import urllib.parse
- import json
- import time
- import easygui
- from tkinter import *
- from tkinter import ttk
- def translate(event=None):
- content = et.get()
- url = r'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
- data = {}
- data['i'] = content
- data['from'] = "AUTO"
- data['to'] = "AUTO"
- data['smartresult'] = 'dict'
- data['client'] = 'fanyideskweb'
- data['doctype'] = 'json'
- data['version'] = '2.1'
- data['keyfrom'] = 'fanyi.web'
- data['action'] = 'FY_BY_CLICKBUTTION'
-
- data = urllib.parse.urlencode(data).encode('utf-8')
- req = urllib.request.Request(url, data)
- req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36')
- response = urllib.request.urlopen(req)
- html = response.read().decode('utf-8')
- target = json.loads(html)
- target = target['translateResult'][0][0]['tgt']
- var.set(target)
- return target
- root = Tk()
- root.title("翻译")
- root.geometry("215x78")
- # 翻译结果
- var = StringVar()
- Label(root, text="翻译内容:").grid(row=0, column=0, sticky=W)
- et = Entry(root)
- et.grid(row=0, column=1, sticky=W)
- et.bind("<Key-Return>", translate)
- et.focus()
- lb = Label(root, text="翻译结果:")
- lb.grid(row=1, column=0, sticky=W)
- et2 = Entry(root, state="readonly", textvariable=var)
- et2.grid(row=1, column=1, sticky=W)
- Button(root, text="翻译", command=translate).grid(row=2, column=0)
- Button(root, text="退出", command=lambda x=0 : root.destroy()).grid(row=2, column=1, sticky=E)
- mainloop()
复制代码 |
|