tkinter+爬虫实现有道翻译桌面软件

这是连着上次的写的,不会怎么爬取的可以看看这个连接爬取有道翻译,但这个只能在python环境下使用,有时候我们不想在python环境下运行,想在任何windows平台下使用,要怎么做呢?其实很简单

import urllib.request
import json
import urllib.parse
import time


while True:
    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
    head = {'你的用户代理'}

    content = input('请输入要翻译的内容:') #接收用户输入
    if content == "q": #如果输入q并且回车则退出程序
        break

    form_Data = {}
    form_Data['i'] = content
    form_Data['from'] = 'AUTO'
    form_Data['to'] = 'AUTO'
    form_Data['smartresult'] = 'dict'
    form_Data['client'] = 'fanyideskweb'
    form_Data['doctype'] = 'json'
    form_Data['version'] = '2.1'
    form_Data['keyfrom'] = 'fanyi.web'
    form_Data['action'] = 'FY_BY_REALTIME'
    form_Data['typoResult'] = 'false'

    data = urllib.parse.urlencode(form_Data).encode('utf-8')
    req = urllib.request.Request(url, data, head)
    response = urllib.request.urlopen(req)
    html = response.read().decode('utf-8')

    result = json.loads(html)

    print("翻译的结果是:%s" % (result['translateResult'][0][0]['tgt'])) #打印json数据中键对应的值
    time.sleep(1) #延时一秒

在这里插入图片描述

这是在python环境下运行的,也就是说必须要安装python环境并且要在控制台输入才能得到翻译结果

图形界面版的:

from tkinter import *
import tkinter as tk
import urllib.request
import json
import urllib.parse

def print_result():
	url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
	head = {'你的用户代理'}

	content = input_entry.get()

	form_Data = {}
	form_Data['i'] = content
	form_Data['from'] = 'AUTO'
	form_Data['to'] = 'AUTO'
	form_Data['smartresult'] = 'dict'
	form_Data['client'] = 'fanyideskweb'
	form_Data['doctype'] = 'json'
	form_Data['version'] = '2.1'
	form_Data['keyfrom'] = 'fanyi.web'
	form_Data['action'] = 'FY_BY_REALTIME'
	form_Data['typoResult'] = 'false'

	data = urllib.parse.urlencode(form_Data).encode('utf-8')
	req = urllib.request.Request(url, data, head)
	response = urllib.request.urlopen(req)
	html = response.read().decode('utf-8')

	result = json.loads(html)

	#print("翻译的结果是:%s" % (result['translateResult'][0][0]['tgt'])) #打印json数据中键对应的值

	translation = result['translateResult'][0][0]['tgt']
	var.set(translation)


root = Tk()
root.title('有道翻译')
root.geometry('300x150')
var = tk.StringVar()
input_entry = Entry(root,width=30)
input_entry.pack()
entry_result = Entry(root,width=30,textvariable=var)
entry_result.pack()
button = Button(root,text='翻译',command=print_result)
button.pack()
root.mainloop()

在这里插入图片描述

这是图形界面版的,在框内输入你想要翻译的内容,点击翻译按钮就可以在第二个框内显示翻译结果,还可以用pyinstaller模块将程序打包成电脑可执行文件,pip pyinstaller就可以安装,打包命令是pyinstaller -F xxx.py -w,打包的文件会在dist里面

正在尝试写博客,把会的分享给你们,如有写的不好的地方,希望指点一下,谢谢!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值