• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python爬虫+Tkinter制作一个翻译软件的示例

    今天咱们用Python爬虫和Tkinter界面来做一个翻译软件。

    一、运行效果

    软件实现功能:当我们输入英文或中文时,程序即可打印出来对应的译文,如图:

    二、实现方法

    1. 爬虫部分

    实现一键翻译最简单的方式就是爬虫,我们只需将要翻译的内容传入,然后将翻译的结果爬取下来呈现给用户即可。在本文中,我们选择的网站是有道翻译。

    下图这个界面,你在左边输入文字,那么浏览器会把你输入的信息传输给服务器。再在右侧返回对应翻译结果。这就是一个典型的Post操作。

    由于之前我们的爬取都是采用的Get方式来获取数据的,并没有用过Post方式,所以这里简单给大家说一下怎么用python发送Post请求:

    发送post请求分为表单类(x-www-form-urlencoded)和json(application/json)格式,data参数支持字典格式和字符串格式,建议使用字典格式,在使用json.dumps()方法把data转换为合法的json格式字符串,或者将data参数赋值给post方法的json参数,data以字符串格式传输需要注意的事项:

    1. 必须是json格式字符串,必须用双引号,k-v之家必须有逗号,布尔值必须是小写的true/false
    2. 不能有中文,直接传字符串不会自动编码

    我们还是按F12打开开发者模式,发现传入的数据并没有在原网页中出现,所以判断这是一个使用异步刷新的网站,所以该URL,应该去XHR中寻找,在XHR中发现了我们传入的数据,如图:

    一切准备就绪了,可以开始书写代码了,爬虫部分代码如下:

    url='http://fanyi.youdao.com/translate?smartresult=dictsmartresult=rule'
    #使用post需要一个链接
    data={'i': word,
      'from': 'AUTO',
      'to': 'AUTO',
      'smartresult': 'dict',
      'client': 'fanyideskweb',
      'doctype': 'json',
      'version': '2.1',
      'keyfrom': 'fanyi.web',
      'action': 'FY_BY_REALTIME',
      'typoResult': 'false'}
    #将需要post的内容,以字典的形式记录在data内。
    r = requests.post(url, data)
    #post需要输入两个参数,一个是刚才的链接,一个是data,返回的是一个Response对象
    answer=json.loads(r.text)
    #你可以自己尝试print一下r.text的内容,然后再阅读下面的代码。
    result = answer['translateResult'][0][0]['tgt']
    return result

    2.Tkinter部分

    Tkinter是Python的标准GUI库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。

    由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 能应付自如。

    代码如下:

    self.window = Tk()
    self.fanyi = YouDaoFanyi()
    self.window.title(u'翻译器')
    #设置窗口大小和位置
    self.window.geometry('310x370+500+300')
    self.window.minsize(310,370)
    self.window.maxsize(310,370)
    #创建一个文本框
    self.result_text1 = Text(self.window,background = 'azure')
    self.result_text1.place(x = 10,y = 5,width = 285,height = 155)
    self.result_text1.bind("Key-Return>",self.submit1)
    #创建一个按钮
    #为按钮添加事件
    self.submit_btn = Button(self.window,text=u'翻译',command=self.submit)
    self.submit_btn.place(x=205,y=165,width=35,height=25)
    self.submit_btn2 = Button(self.window,text=u'清空',command = self.clean)
    self.submit_btn2.place(x=250,y=165,width=35,height=25)
    #翻译结果标题
    self.title_label = Label(self.window,text=u'翻译结果:')
    self.title_label.place(x=10,y=165)
    #翻译结果
    self.result_text = Text(self.window,background = 'light cyan')
    self.result_text.place(x = 10,y = 190,width = 285,height = 165)

    来看看效果图:

    虽然有一些单调,但是能做到这样还是很不错的。

    三、打包

    做好程序后,可以将其打包,这样以后不管电脑上有没有python环境,我们都可以使用这个软件来进行翻译,下面来教大家一个简单的python打包方法。

    首先安装PyInstaller第三方库。

    pip install Pylnstaller

    然后使用cmd,切换到需要打包的python程序的存储目录,然后输入该语句即可完成打包。

    pyinstaller -F -w xxx.py

    以上就是本文的全部内容了,希望能够对大家的学习起到一定的帮助作用!

    四、代码获取

    https://github.com/bigtigeryo/yingyihan

    以上就是Python爬虫+Tkinter制作一个翻译软件的示例的详细内容,更多关于python 制作翻译软件的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • Python生成个性签名图片获取GUI过程解析
    • python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
    • python3使用tkinter实现ui界面简单实例
    • Python GUI Tkinter简单实现个性签名设计
    • Python库学习Tkinter制作GUI个性签名设计软件
    上一篇:python爬虫用request库处理cookie的实例讲解
    下一篇:python基于selenium爬取斗鱼弹幕
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python爬虫+Tkinter制作一个翻译软件的示例 Python,爬虫,+Tkinter,制作,