zoukankan      html  css  js  c++  java
  • python-利用Python窗口可视化抽象开发山寨版翻译软件

    1.图片展示:

    2.写出上面图式的小脚本需要利用python两个方面的知识:

    (1)可视化库 (需用库:tkinter)

    (2)简单爬虫知识 (需用库:requests)

    注意:爬虫在获取翻译信息时,会因为一些反爬虫的机制导致失败,所以从翻译网站获取翻译信息时,要选择稳定性强的翻译网站,并做好针对网站的反爬机制做好措施,防止出错。该脚本用的翻译网站是随意找的,因而容易出错,建议用百度翻译、有道翻译等一些好的翻译网站。

    3.代码如下:

    from tkinter import *
    import requests
    
    # 在线翻译网站 post:f t w
    start_url = "http://fy.iciba.com/ajax.php?a=fy"
    # 创建窗口
    root = Tk()
    # 窗口标题
    root.title("中英互译")
    # 窗口大小
    root.geometry("370x100+500+300")
    # 标签控件
    label1 = Label(root, text="输入要翻译的文字:")
    label1.grid(row=0, column=0)
    label2 = Label(root, text="翻译之后的结果:")
    label2.grid(row=1, column=0)
    # 输入控件
    entry1 = Entry(root, font=("微软雅黑", 15))
    entry1.grid(row=0, column=1)
    entry2 = Entry(root, font=("微软雅黑", 15))
    entry2.grid(row=1, column=1)
    
    
    # 按钮
    def translate():
        entry2.delete(0, 'end')
        input_data = entry1.get()
        if not input_data.isalpha():
            input_data = input_data.lower()
            data = {
                "f": "auto",
                "t": "auto",
                "w": input_data
            }
            response = requests.post(start_url, data=data)
            result = response.json()
            output = result['content']['out']
        else:
            data = {
                "f": "auto",
                "t": "auto",
                "w": input_data
            }
            response = requests.post(start_url, data=data)
            result = response.json()
            output = result['content']['word_mean'][0]
        entry2.insert("insert", output)
    
    
    button1 = Button(root, text="翻译", width=10, command=translate)
    # sticky(对齐方式):N S W E
    button1.grid(row=2, column=0, sticky=W)
    button1 = Button(root, text="退出", width=10, command=root.quit)
    button1.grid(row=2, column=1, sticky=E)
    # 显示窗口 消息循环
    root.mainloop()
  • 相关阅读:
    winform 动态添加控件及事件
    C#调用WCF问题汇总
    如何实现验证登陆者
    如何利用wx.request进行post请求
    如何利用wx.login方法获取openid和sessionKey
    微信小程序开发调试阶段不校验请求域名
    第三方授权登陆
    node环境下:node_modules里面的文件
    windows下如何快速删除大文件
    webpack使用devtool :source map插件
  • 原文地址:https://www.cnblogs.com/loveprogramme/p/9471285.html
Copyright © 2011-2022 走看看