用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(
)

联网才能使用哦,我把它打包起来了,随时打开就能用。

经验分享 程序员 微信小程序 职场和发展