Python源码是关于Python利用有道翻译开发API应用示例。这是一个很有意思又简单的API应用练习题,方法中用到了有道词典开放API应用,合成的类似于命令行词典应用Python小程序。功能简单,但效果却很好。
这里要注意的是:有道API的请求频率限制,限制频率为每小时1000次,如果超过限制会被封禁。
提示:如果想一直用这个可以自己申请一个KEY,申请的过程非常简单的,只要替换原有的KEY_FROM和KEY就可以了。
Python利用有道翻译开发API应用示例,源码如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- #www.iplaypy.com import urllib2 import urllib import simplejson as json import sys class YoudaoDic(): """ 有道词典API """ VERSION = 1.1 URL = 'http://fanyi.youdao.com/openapi.do' KEY_FROM = 'Dic-EVE' KEY = '975360059' TYPE = 'data' # 可选值xml, json DOC_TYPE = 'json' def translate(self, text): """ 翻译方法,传入要翻译的文本,返回结果字典 """ # 参数 params = {'keyfrom': self.KEY_FROM, 'key': self.KEY, 'type': self.TYPE, 'doctype': self.DOC_TYPE, 'version': self.VERSION ,'q': text} request = urllib2.urlopen(self.URL, urllib.urlencode(params)) data = request.read() return json.loads(data) def format_for_command(self, text): """ 为命令行格式化翻译结果 """ data = main(text) # TODO:格式化字符串 if data: print '有道翻译:' print '\t原文本:', data.get('query', text) translation = data.get('translation', None) if translation: for t in translation: print '\t翻 译:', t else: '未找到该词' def main(text): if text and text.strip() != '': return YoudaoDic().translate(text) if __name__ == '__main__': if sys.argv and len(sys.argv) >= 2: l = sys.argv[1:] YoudaoDic().format_for_command(' '.join(l)) else: print '有道翻译: \n\t提示:请输入您要翻译的词或句子'
大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python资源分享秋秋裙:855408893 内有安装包,学习视频资料,免费直播实战案例。这里是Python学习者的聚集地,零基础,进阶,都欢迎每日分享一些学习的方法和需要注意的小细节
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69913713/viewspace-2649418/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/69913713/viewspace-2649418/