起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > 编程语言 > Python可以制作桌面翻译工具吗

Python可以制作桌面翻译工具吗

时间:2018-12-11 12:55:21来源:编程网 作者:IT培训网 已有: 名学员访问该课程

前言:当然在插入之前,需要创建一个数据库和数据表,并设置好字段类型等。这个简单的sql语句就是将爬取下来的单词插入到英文词汇数据库中词汇表中,然后在执行sql语句即可,最后需要提交修改。

Python利用tkinter制作桌面翻译工具,结构不是很复杂不过有点糙

最近突然想到是不是可以拿来做个桌面小工具,于是花了一个下午加一晚上,折腾了一下。

运行平台:Windows

Python版本:Python3.6

IDE:Sublime Text

其他:Chrome浏览器

简述流程为:

步骤1:用Python实现爬虫爬取http://www.kuakao.com/english/ch/39183.html这个网页上的单词并存入MySQL数据库;

步骤2:再用另一个爬虫爬取http://www.iciba.com/,实现通过单词或词义查询单词;

步骤3:用Python tkinter实现程序窗口,使其具备在线翻译和本地翻译两个功能;

步骤4:连接数据库,实现根据单词或词义的本地查询;

步骤5:将MySQL的连接所需参数写入配置文件,实现配置文件的读取。

首先我们使用Chrome浏览器看下我们要爬取考研单词的网页,和之前一样简单看下结构。

Python可以制作桌面翻译工具吗_www.epx365.cn

结构不是很复杂,所以我们和以前一样使用请求网页—解析网页——存储单词的过程来就

Python可以制作桌面翻译工具吗_www.epx365.cn

这里唯一有所不同的是就是我这次插入的数据库选择的是MySQL,所以会之前有一点不同。如下所示:

Python可以制作桌面翻译工具吗_www.epx365.cn

连接数据库时我读取了配置文件里的参数,所以没有直接给出,下面再介绍相关配置与读取配置。在MySQL中,连接好数据库后,我们首先获取一个游标,然后写上sql插入语句:

I NSERT INTO 英文词汇.词汇 (序号, 单词, 词义) VALUES (%s, %s, %s)

当然在插入之前,需要创建一个数据库和数据表,并设置好字段类型等。这个简单的sql语句就是将爬取下来的单词插入到英文词汇数据库中词汇表中,然后在执行sql语句即可,最后需要提交修改。

由于单词不在一个网页上,所以我们还需要一个循环,构建url,遍历所有单词页面

Python可以制作桌面翻译工具吗_www.epx365.cn

来看下数据库里的词汇情况:

Python可以制作桌面翻译工具吗_www.epx365.cn

接下来我们来看下配置文件及读取部分。

spider.conf

Python可以制作桌面翻译工具吗_www.epx365.cn

这个配置文件里写的是连接MySQL的一些参数,包括主机名、端口、用户、密码等。

再来看下如何读取,读取配置文件是通过Python自带的configparser模块。

Python可以制作桌面翻译工具吗_www.epx365.cn

定义一个SpiderConfi类,然后定义相关变量。再通过load_conf方法读取配置文件,读取方式很简单,先建立一个ConfigParse对象,然后读取配置文件的名称,最后通过get方法读取参数即可,这里需要注意的是端口port需要读取成数字,而不是字符串,所以使用getint方法。最后我使用了日志模块,用于确认是否正确读取。

Python可以制作桌面翻译工具吗_www.epx365.cn

最后调用方法,看下执行结果吧。

Python可以制作桌面翻译工具吗_www.epx365.cn

第二步用来实现在线翻译的功能的爬虫即之前介绍过的爬取金山翻译,这里就不再多说了。直接来看如何实现桌面窗口吧。

这里我使用的Python自带的tkinter模块,简单的做了个界面。

Python可以制作桌面翻译工具吗_www.epx365.cn

相关具体的方法参数大家可以参考官网:tkinter,这里就不再多说啦。主要就是定义窗口标签控件以及布局。实现窗口是这样的:

Python可以制作桌面翻译工具吗_www.epx365.cn

两个按钮绑定不同的方法,分别是:

Python可以制作桌面翻译工具吗_www.epx365.cn

cmd1是在线翻译,直接执行了其中的一个方法获取金山翻译的释义,cmd2是调用了接下来要讲的WordRetriever类,然后再执行查词的方法,接着往下看吧!

Python可以制作桌面翻译工具吗_www.epx365.cn

check_word方法首先将result_text标签里的数据清空,然后再获取输入到text_entry里的单词或词义,之后连接好数据库。

Python可以制作桌面翻译工具吗_www.epx365.cn

连接好数据库之后,就可以执行sql查询了,我将输入到text_entry里的数据分成两种情况,当正则表达式匹配到汉字时,证明输入的是词义,需要查找的是单词,这里我们就使用MySQL的模煳查询方法,通过%匹配符匹配数据库中所有符合的词义,并给出相关结果;而如果是单词,则可以直接查询。

最后就来试试查询结果吧:

Python可以制作桌面翻译工具吗_www.epx365.cn

Python可以制作桌面翻译工具吗_www.epx365.cn

好了,就是这么多了~写得比较匆忙,有点糙,将就一下下~

文章出自:http://qh.itpxw.cn/peixun/software/201845357.html

文章标题:Python可以制作桌面翻译工具吗



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

(责任编辑:IT培训网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:罗老师 联系电话:13783581536 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件: 网站域名:http://www.itpxw.cn 注册时间:2016-07-18 11:07 最后登录:2024-02-20 13:02
推荐内容