Python实现翻译小工具!几行代码搞定!装逼利器有没有!

Python实现翻译小工具!几行代码搞定!装逼利器有没有!,第1张

概述一、背景利用Requests模块获取有道词典web页面的post信息,BeautifulSoup来获取需要的内容,通过tkinter模块生成gui界面

一、背景

利用Requests模块获取有道词典web页面的post信息,BeautifulSoup来获取需要的内容,通过tkinter模块生成gui界面

二、代码

进群:548377875    即可获取数十套pdf哦!

fanyi.py代码如下:

#!/bin/env python# -*- Coding:utf-8 -*-# _author:kaliarchimport requestsimport urllib.parseimport timeimport randomimport hashlibimport Jsonclass search(object): def __init__(self): self.url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule' def getData(self,search_name): # salt =i = "" + ((new Date).getTime() + parseInt(10 * Math.random(),10) salt = ((time.time() * 1000) + random.randint(1,10)) # sign = n.md5("fanyIDeskweb" + t + i + "ebSeFb%=XZ%T[KZ)c(sy!") sign_text = "fanyIDeskweb" + search_name + str(salt) + "ebSeFb%=XZ%T[KZ)c(sy!" sign = hashlib.md5((sign_text.encode('utf-8'))).hexdigest() paydata = { 'i': search_name,'from': 'auto','to': 'auto','smartresult': 'dict','clIEnt': 'fanyIDeskweb','salt': salt,'sign': sign,'DOCTYPE': 'Json','version': '2.1','keyfrom': 'fanyi.web','action': 'FY_BY_CliCKBUTTION','typoResult': 'false' } return paydata def getheader(self): header = { 'Host': 'fanyi.youdao.com','Referer': 'http://fanyi.youdao.com/','Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8','User-Agent': 'Mozilla/5.0 (windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/55.0.2883.87 Safari/537.36','cookie': '[email protected]; OUTFOX_SEARCH_USER_ID_NCOO=129549097.60835753; UM_distinctID=15ff309f18ddc-094cb5494ad815-5d4e211f-1fa400-15ff309f18e449; _ga=GA1.2.184261795.1517119351; __guID=204659719.2556877880764680700.1518435624954.942; JsESSIONID=aaa3A5BLhtTrh4TPX_mgw; monitor_count=2; ___rl__test__cookies=1518488731567' } return header def getRequest(self,paydata,header): _data = urllib.parse.urlencode(paydata).encode('utf-8') _header = header response = requests.post(self.url,data=_data,headers=_header) return response.text def getResult(self,response): result_text = Json.loads(response) #src = result_text['translateResult'][0][0]['src'] tgt = result_text['translateResult'][0][0]['tgt'] return tgt def main(self,search_name): app = search() paydata = app.getData(search_name) header = app.getheader() response = app.getRequest(paydata,header) tgt = app.getResult(response) return tgt

windows.py代码如下:

#!/bin/env python# -*- Coding:utf-8 -*-# _author:kaliarchimport tkinter as tkfrom fanyi import searchclass application: def __init__(self): self.windows = tk.Tk() self.windows.Title("翻译小工具") self.windows.geometry("280x350+700+300") #提交按钮 self.submit_btn = tk.button(self.windows,text="查询",command=self.submit) self.submit_btn.place(x=220,y=10,wIDth=50,height=25) # 定义输入框 self.entry = tk.Entry(self.windows) self.entry.place(x=10,wIDth=200,height=40) #输出内容 self.result_text = tk.Text(self.windows,background="#ccc") self.result_text.place(x=10,y=90,wIDth=260,height=245) # 翻译结果标题 self.Title_label = tk.Label(self.windows,text="翻译结果:") self.Title_label.place(x=10,y=65) self.search_result = search() def submit(self): #1.获取用户输入 context = self.entry.get() #2.利用有道翻译 result = self.search_result.main(context) #3.输出 self.result_text.delete(1.0,tk.END) self.result_text.insert(tk.END,result) def run(self): self.windows.mainloop()if __name__ == '__main__': winapp = application() winapp.run()

setup.py代码如下:

# -*- Coding:utf-8 -*-# _author:kaliarchimport sysfrom cx_Freeze import setup,Executableimport osos.environ['TCL_liBRARY'] = r"C:Program filespython36   cl  cl8.6"os.environ['TK_liBRARY'] = r"C:Program filespython36    cl  k8.6"include_files = [ r"C:Program filespython36DLLs   cl86t.dll",r"C:Program filespython36DLLs k86t.dll",]build_exe_options = { "packages":["os","tkinter","requests","IDna"],"include_files":include_files}base = Noneif sys.platform == "win32": base = "win32gui"setup(name = "translate_tool",version = "0.1",description = "fanyitools!",options = {"build_exe":build_exe_options},executables = {Executable("windows.py",base=base,icon='img.ico')} )

三、效果展示

运行windows.py,输入想要翻译的内容,点击翻译即可查看翻译结果

可以利用cx_Freeze打包成windows的mis安装小程序,方便使用

切换到项目目录下执行python setup.py bdist_msi

待执行完毕,可以项目文件下生成两个文件夹dist中为msi安装文件,在其他windows服务器安装后就为build下的文件内容,在build下的exe.win-amd64-3.6下的windows.exe 就可打开小工具

进行安装测试

安装完成后可以运行安装目录下的windows.exe打开小工具

总结

以上是内存溢出为你收集整理的Python实现翻译小工具!几行代码搞定!装逼利器有没有!全部内容,希望文章能够帮你解决Python实现翻译小工具!几行代码搞定!装逼利器有没有!所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1208658.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存