看文献看的头疼,为了解决小麻烦没事就写了这个来玩一玩。其实也没有什么就是用一个简单的爬虫和界面,
所以啥也不多说,直接贴代码,欢迎尝试
# -*- coding: utf-8 -*-
# filename:GoogleTranslation1.2.py
import urllib.parse
import urllib.request
import time
import pyperclip
from tkinter import *
def translate(text, f='zh-cn', t='en'):
url_google = 'http://translate.google.cn/translate_t'
reg_text = re.compile(r'(?<=TRANSLATED_TEXT=).*?;')
user_agent = r'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' \
r'Chrome/44.0.2403.157 Safari/537.36'
'''user_agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)'''''
values = {'hl': 'zh-cn', 'ie': 'utf-8', 'text': text, 'langpair': '%s|%s' % (t, f)}
value = urllib.parse.urlencode(values)
req = urllib.request.Request(url_google + '?' + value)
req.add_header('User-Agent', user_agent)
response = urllib.request.urlopen(req)
content = response.read().decode('utf-8')
data = reg_text.search(content)
result = data.group(0).strip(';').strip('\'')
return result
def getcopytext(copyBuff):
copyedText=pyperclip.paste()
if copyBuff!=copyedText:
copyBuff=copyedText
normalizedText=copyBuff.replace('\r','\\r').replace('\n','\\n').replace('-\\r\\n','').replace("\\r\\n"," ")
else:
print('no change')
return normalizedText
def showtxt(inputtxt):
root = Tk()
root.title('DayDayUp') # 定义窗体标题
root.geometry('400x200') # 定义窗体的大小,是400X200像素
label = Label(root,text=inputtxt,wraplength=400,justify='left',font=12)
#label['text'] = inputtxt
label.pack()
root.mainloop()
if __name__ == "__main__":
copyBuff = ' '
# text_1 原文
# text_1=open('c:\\text.txt','r').read()
while True:
time.sleep(0.003)
copyedText = pyperclip.paste()
if copyBuff!=copyedText:
copyBuff=copyedText
text_1 = copyBuff.replace('\r', '\\r').replace('\n', '\\n').replace('-\\r\\n', '').replace("\\r\\n", " ")
text_2 = translate(text_1)#.strip("'")
showtxt(text_2)
实现的功能:运行程序后,直接选中要翻译的内容,复制,然后就直接自动读取粘贴板上的内容,自动翻译并显示在界面上,不需要输入,直接自动输出。
打包的过程:
1.安装pyinstaller:
pip install pyinstaller
2.CMD进入要转化的项目的xxx.py所在的目录下,执行如下命令:
pyinstaller -F -w ***.py
-F:打包为单文件
-w:Windows程序,不显示命令行窗口
***.py是你要打包的py文件
当然你还可以把文件打包成使用自己的图标的文件,执行如下:
pyinstaller -F -w -i manage.ico ***.py
-i:是程序图标
大功告成
下面是效果图