python制作有道翻译软件
完整代码:
import requests
import hashlib
import json,time,random
import tkinter as tk
header = {
'Accept':'application/json, text/javascript, */*; q=0.01',
'Accept-Encoding':'gzip, deflate',
'Accept-Language':'zh-CN,zh;q=0.9,zh-TW;q=0.8',
'Connection':'keep-alive',
'Content-Length':'241',
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'Cookie':'OUTFOX_SEARCH_USER_ID=-1809912003@10.108.160.19; JSESSIONID=aaakrWTl5P8BCfhzeWpcx; OUTFOX_SEARCH_USER_ID_NCOO=1093272405.9168806; ___rl__test__cookies=1582965094607',
'Host':'fanyi.youdao.com',
'Origin':'http://fanyi.youdao.com',
'Referer':'http://fanyi.youdao.com/',
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36',
'X-Requested-With':'XMLHttpRequest',
}
def make_md5(string:str):
'''
产生md5
:param string:
:return: 返回md5
'''
string = string.encode('utf-8')
md5 = hashlib.md5(string).hexdigest()
return md5
def fanyi():
r = str(time.time()*1000)
salt = r + str(random.randint(0,9))
#print(salt)
ts = r
bv = make_md5('5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36')
sign = make_md5('fanyideskweb'+ t1.get(0.0,'end') + salt + 'Nw(nmmbP%A-r6U3EUn]Aj')
url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
data = {
'i': t1.get(0.0,'end'),
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': salt,
'sign': sign,
'ts': ts,
'bv': bv,
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_REALTlME',
}
response = requests.post(url,data=data,headers=header).json()
t1.delete(0.0,'end')
response = response['translateResult'][0][0]['tgt']
t1.insert(0.0,response)
root = tk.Tk()
root.geometry('500x300')
root.title('有道翻译')
b1 = tk.Button(root,text='一键翻译',command=fanyi)
b1.pack()
t1 = tk.Text(root)
t1.pack()
root.mainloop()