代码
from urllib import request
from urllib import parse
import json
import requests
import random
import keyboard
from bs4 import BeautifulSoup
import tkinter as tk
def is_Chinese(ch):
if '\u4e00' <= ch <= '\u9fff':
return True
return False
def fun(var):
choice = 1
if len(var)==0:
return "翻译内容不可为空!"
for i in var:
if i==" ":
choice=2
if len(var)>3:
for i in var:
if is_Chinese(i)==True:
choice=2
else:
choice=1
if choice==1:
s=''
proxiesvalue = [
{'http': 'http://121.232.148.167:9000'},
{'http': 'http://39.105.28.28:8118'},
{'http': 'http://113.195.18.133:9999'}
]
post_url = "https://fanyi.baidu.com/sug"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36 Edg/89.0.774.77'
}
data = {
'kw': var
}
try:
response = requests.get(url=post_url, headers=headers, params=data, proxies=random.choice(proxiesvalue))
dic_obj = response.json()
except:
return "请求失败"
else:
if response.status_code == 200:
for i, v in dic_obj.items():
if i == "data":
ls = v
if len(ls) == 0:
return "输入有误"
for i in ls:
for k, v in i.items():
s+=(v+"\n")
return s+"\n"
elif choice==2:
Request_URL = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
form_data = {}
form_data['i'] = var
form_data['from'] = 'AUTO'
form_data['to'] = 'AUTO'
form_data['smartresult'] = 'dict'
form_data['doctype'] = 'json'
form_data['version'] = '2.1'
form_data['keyfrom'] = 'fanyi.web'
form_data['action'] = 'FY_BY_CLICKBUTTION'
form_data['typoResult'] = 'false'
data = parse.urlencode(form_data).encode('utf-8')
response = request.urlopen(Request_URL, data)
html = response.read().decode('utf-8')
translate_results = json.loads(html)
s=''
for i in range(888):
try:
s += translate_results["translateResult"][0][i]['tgt']
except:
break
return s+"\n\n"
window = tk.Tk()
window.title('开发者:Yesir')
window.geometry('800x500')
e=tk.Text(window, height=5,width=80)
e.pack()
def insert_point():
t.delete('1.0', 'end')
var = e.get('1.0','end')
data=''
for i in var:
if i!="\n":
data+=i
t.mark_set("insert", "%d.%d" % (0, 0))
t.insert('insert', fun(data))
def abc(x):
if keyboard.is_pressed('ctrl') and keyboard.is_pressed('enter'):
t.delete('1.0', 'end')
insert_point()
elif keyboard.is_pressed('esc'):
window.destroy()
exit()
tk.Label(window, text="开发者:Yesir",fg="#6950a1", bg="#feeeed", font=('Arial', 24), ).place(x=300, y=400, anchor='nw')
b1 = tk.Button(window, text='翻译', width=10,height=2, command=insert_point)
b1.pack()
t = tk.Text(window, height=20)
t.pack()
keyboard.hook(abc)
window.mainloop()
CSDN-Ada助手: 不知道 C 技能树是否可以帮到你:https://edu.csdn.net/skill/c?utm_source=AI_act_c
不正经的kimol君: 支持博主,欢迎回赞哦~
LaoYuanPython: 博主又出新作,辛苦了!大多数程序员都有爬虫在手天下我有的情怀,博主不错,请继续努力!
抓手: 这是一篇不错的文章啊,谢谢分享!
Frank---7: 写的不错,欢迎互访互关。