美文网首页老杨玩python
python实现智能语音翻译

python实现智能语音翻译

作者: 无心文先森 | 来源:发表于2019-05-28 14:21 被阅读18次

    跟着老杨学python

    很多人说英文不好,能学好python吗?英文好确实对编程的学习会有一定的帮助,但是并不是最重要的,更重要的是你的思维能力。我们连复杂多变的中文都能搞定,还怕英文不成。基于英文不好这个问题,也是提供了一个idea,那就跟着老杨用python实现一个智能翻译器吧。

    既然是翻译器,那我们需要一个可视化的界面,再python的GUI编程中,我们使用python内置的tkinter模块,翻译部分,我们直接通过爬虫爬取有道翻译的结果就OK了,当然既然在学习英语了,可不能是哑巴英语,我们还得让它读出来。话不多说,直接代码一波。

    #!/usr/bin/python3
    # @Time      : 2019/5/23 15:57
    # @Author    : 老杨
    # @FileName  : Order.py
    # @Software  : PyCharm
    from tkinter import *
    import requests
    import json
    import pyttsx3
    def translate():
        content = entry1.get().strip()
        url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
        data = {
            'i':content,
            'doctype':'json'
        }
        headers = {
            'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0'
        }
        response = requests.post(url,data=data,headers=headers)
        ret = response.content.decode()
        result = json.loads(ret)
        result = result['translateResult'][0][0]['tgt']
        res.set(result)
        engine = pyttsx3.init()
        engine.say(result)
        engine.runAndWait()
    root = Tk()
    root.title('桌面翻译软件')
    root.geometry('300x100+500+200')
    root.resizable(False,False)
    input_data = Label(root,text='输入内容:',font=('黑体',18),fg='blue')
    input_data.grid()
    entry1 = Entry(root)
    entry1.grid(row=0,column=1)
    output_data = Label(root,text='结果:',font=('黑体',18),fg='blue')
    output_data.grid(row=1,column=0)
    res = StringVar()
    entry2 = Entry(root,textvariable=res)
    entry2.grid(row=1,column=1)
    button = Button(root,text='翻译',width=10,command=translate).grid(row=2,column=0)
    button2 = Button(root,text='退出',width=10,command=root.quit).grid(row=2,column=1)
    root.mainloop()
    

    老杨

    相关文章

      网友评论

        本文标题:python实现智能语音翻译

        本文链接:https://www.haomeiwen.com/subject/mxqdtctx.html