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('\n')
if '```' in word:
print('\n','\n','\n','感谢使用')
break
youdao_translate(word)
print('====================================')
translate_word(word)
print('\n')
联网才能使用哦,我把它打包起来了,随时打开就能用。