使用Python爬虫打造翻译工具

我使用的是Python 3.7。通过爬虫,获取有道翻译的翻译结果。
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。

Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/python
#encoding:UTF-8
from tkinter import * #inin.py _all_ = [a,b] c *不是导入所有库,导入all中的a,b库
from tkinter import messagebox
import requests

#用户输入的单词
def translate():
#获取输入单词
content = entry.get()
if content == "":
messagebox.showinfo('提示','请输入要翻译的内容')
else:
##发送参数 去掉_o 使用老接口
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

data = {}
data['action'] = 'FY_BY_CLICKBUTTION'
data['client'] = 'fanyideskweb'
data['doctype'] = 'json'
data['from'] = 'AUTO'
data['i'] = content
data['keyfrom'] = 'fanyi.web'
#不会啊!!鬼知道咋个加密!
#时间戳 毫秒
#data['salt'] = '1536020173912'
#盐 客服端加密
#data['sign'] = '40138e099be96914d37a24efc2001697'

data['smartresult'] = 'dict'
data['to'] = 'AUTO'
data['typoResult'] = 'false'
data['version'] = '2.1'

#请求头
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0'}
#状态码 200 ok
result = requests.post(url,data,headers = header)
#print(result.json())
tran = result.json()['translateResult'][0][0]['tgt']
res.set(tran)
#创建窗口
root = Tk()
#窗口标题
root.title("中英互译")
#窗口大小 这里用的x没用*
root.geometry("380x120+490+400")
#窗口位置
#root.geometry("+490+400")
#标签控件
label = Label(root,text = '输入文字:')
#定位 网格式布局
label.grid()
labell = Label(root,text = '翻译结果:')
labell.grid(row = 1,column = 0)
#输入控件
res = StringVar() #变量
entry = Entry(root,font = ('微软雅黑',15))
entry.grid(row = 0,column = 1)
entry1 = Entry(root,font = ('微软雅黑',15),textvariable = res)
entry1.grid(row = 1,column = 1)
#按钮
button = Button(root,text = '翻译',width = 10,command = translate)
#command 点击触发的事件
button1 = Button(root,text = '退出',width = 10,command = root.quit)
#sticky对其方式 (N、S、E、W)
button.grid(row = 2,column = 0,sticky = W)
button1.grid(row = 2,column = 1,sticky = E)
#显示窗口(消息循环)
root.mainloop()

效果图:
1.png

到此结束

英语直译效果惨不忍睹!
如有错误请联系lanbaidetanlang@qq.com
F7CADFDBEDB152D42D9291B5F4C3D7F2.png

文章目录
  1. 1. 到此结束