用python制作一个简单的在线单词翻译器
python在线单词翻译器
老早之前写的,就是把输入的内容提交到翻译网页,然后把相应的数据打印出来而已,有时候忘记一些什么单词的时候还是蛮好用的。
import requests
import urllib.request
import urllib.parse
import json
def youdao_translate(word):
headers = {
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36
}
form_data = {
i:f{word},
from:AUTO,
to:AUTO,
smartresult:dict,
client:fanyideskweb,
salt:15973933809989,
sign:db82f0b78992bbb632cae51d6f4a1cc9,
lts:1597393380998,
bv:7b07590bbf1761eedb1ff6dbfac3c1f0,
doctype:json,
version:2.1,
keyfrom:fanyi.web,
action:FY_BY_REALTlME
}
data = urllib.parse.urlencode(form_data)
data = bytes(data,utf-8)
youdao_url = http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule
request = urllib.request.Request(youdao_url,data,headers)
response = urllib.request.urlopen(request)
html = response.read().decode(utf-8)
html = json.loads(html)
print(有道翻译:,html[translateResult][0][0][tgt])
def translate_word(word):
headers = {
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36
}
form_data = {
kw:f{word}}
url = https://fanyi.baidu.com/sug
try:
words = requests.post(url,data=form_data,headers=headers)
content = json.loads(words.text)
print(content)
result = content[data][0]
print(百度翻译:,result)
except Exception as e:
print(e)
if __name__ == __main__:
while 1:
word = input(需要翻译的词语:)
print(
)
if ``` in word:
print(
,
,
,感谢使用)
break
youdao_translate(word)
print(====================================)
translate_word(word)
print(
)
联网才能使用哦,我把它打包起来了,随时打开就能用。
