打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
30行Python代码自己写一个英语翻译工具

经常碰到不认识的英文单词就去有道字典网页去查查看,每次的过程都是“打开有道网页->输入单词->查看结果”,这个过程有点儿繁琐。今天就来自己写一个英语翻译工具。

有道翻译API

http://fanyi.youdao.com/openapi?path=data-mode

在这里简单申请一个应用即可。因为这个API有每小时1000次的使用限制,如果都使用我的key就会出现使用次数超限的情况。可以自己申请一个以满足自己的需求。

API使用很简单,传几个参数做一个http请求,返回json格式的结果。

Python实现

具体实现可以看代码:https://github.com/veelion/tt

Python里面做http请求的库很多,最流行和简便的是requests,最开始我也选择了该库。写完运行的时候发现,总是要迟钝一会儿才会出结果。怀疑是requests库内部加载的东西太多,于是换urllib2的urlopen。

Python 2.7下叫urllib2,到了Python 3下面就没有该包了,原来Python 3把它放到urllib.request里面去了,为了让这个小工具同时在2和3下面运行,于是有了这样的代码:

try: # For Python 3 from urllib.request import urlopen from urllib.request import quoteexcept ImportError: # For Python 2 from urllib2 import urlopen from urllib import quote

选好http库就写一个函数来做翻译工作:

def trans(q): print('translating...') url = ('http://fanyi.youdao.com/openapi.do?' 'keyfrom=%s&key=%s&type=data&' 'doctype=json&version=1.1&' 'q=%s') % (YOUDAO_KEYFROM, YOUDAO_KEY, quote(q)) try: r = urlopen(url) html = r.read() data = json.loads(html) if data['errorCode'] != 0: print(html) return print(BRO) # 设置终端字体颜色 print('================================') print(u'%s -> %s' % (data['query'], ','.join(data['translation']))) if 'basic' in data: if 'uk-phonetic' in data['basic']: print(u'英式发音: %s' % data['basic']['uk-phonetic']) print(u'美式发音: %s' % data['basic']['us-phonetic']) for e in data['basic']['explains']: print(u'%s' % e) if 'web' in data: print('') for e in data['web']: print(u'%s -> %s' % (e['key'], ','.join(e['value']))) print('================================') print(NOR) # 恢复终端字体颜色 except: traceback.print_exc()

最后,程序从命令行参数得到要被翻译的词,调用翻译函数即可:

if __name__ == '__main__': from sys import argv if len(argv) > 1: q = argv[1] trans(q)

以上就是实现翻译小工具的全部过程,很适合初学python的练手实现一下。

安装和使用

上面介绍了翻译小工具的实现过程,如果你只是想使用的话,我已把它发布到pypi上了,你只需使用pip命令安装即可(linux安装):

sudo pip install terminaltranslator

安装程序会在/usr/local/bin/下面生成t和tt两个简洁命令工调用。

windowns用户安装:

pip install terminaltranslator

安装程序会在python的根目录Scripts里生成t.exe和tt.exe 。

使用如下:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
利用百度、有道翻译API的在线翻译事例代码
零基础写python爬虫之urllib2使用指南
[Python从零到壹] 四.网络爬虫之入门基础及正则表达式抓取博客案例
小白学 Python 爬虫(13):urllib 基础使用(三)
初见网络爬虫
[快学Python3]HTTP处理 - urllib模块
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服