当前位置:   article > 正文

Python利用有道翻译开发API应用示例_有道词典api

有道词典api

本贴Python源码是关于Python利用有道翻译开发API应用示例。这是一个很有意思又简单的API应用练习题,方法中用到了有道词典开放API应用,合成的类似于命令行词典应用Python小程序。功能简单,但效果却很好。

这里要注意的是:有道API的请求频率限制,限制频率为每小时1000次,如果超过限制会被封禁。

提示:如果想一直用这个可以自己申请一个KEY,申请的过程非常简单的,只要替换原有的KEY_FROM和KEY就可以了。

Python利用有道翻译开发API应用示例,源码如下:

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #www.iplaypy.com
  4. import urllib2
  5. import urllib
  6. import simplejson as json
  7. import sys
  8. class YoudaoDic():
  9. """
  10. 有道词典API
  11. """
  12. VERSION = 1.1
  13. URL = 'http://fanyi.youdao.com/openapi.do'
  14. KEY_FROM = 'Dic-EVE'
  15. KEY = '975360059'
  16. TYPE = 'data'
  17. # 可选值xml, json
  18. DOC_TYPE = 'json'
  19. def translate(self, text):
  20. """
  21. 翻译方法,传入要翻译的文本,返回结果字典
  22. """
  23. # 参数
  24. params = {'keyfrom': self.KEY_FROM, 'key': self.KEY, 'type': self.TYPE, 'doctype': self.DOC_TYPE, 'version': self.VERSION ,'q': text}
  25. request = urllib2.urlopen(self.URL, urllib.urlencode(params))
  26. data = request.read()
  27. return json.loads(data)
  28. def format_for_command(self, text):
  29. """
  30. 为命令行格式化翻译结果
  31. """
  32. data = main(text)
  33. # TODO:格式化字符串
  34. if data:
  35. print '有道翻译:'
  36. print '\t原文本:', data.get('query', text)
  37. translation = data.get('translation', None)
  38. if translation:
  39. for t in translation:
  40. print '\t翻 译:', t
  41. else:
  42. '未找到该词'
  43. def main(text):
  44. if text and text.strip() != '':
  45. return YoudaoDic().translate(text)
  46. if __name__ == '__main__':
  47. if sys.argv and len(sys.argv) >= 2:
  48. l = sys.argv[1:]
  49. YoudaoDic().format_for_command(' '.join(l))
  50. else:
  51. print '有道翻译: \n\t提示:请输入您要翻译的词或句子'

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/855613
推荐阅读
相关标签
  

闽ICP备14008679号