Python利用有道翻译开发API应用示例

该文章提供了一个使用Python编写的有道翻译API应用示例,通过调用有道词典开放API进行翻译。程序是一个简单的命令行工具,能接收用户输入并返回翻译结果。需要注意API的请求频率限制,以及如何申请和替换自己的APIKEY。
摘要由CSDN通过智能技术生成

本贴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提示:请输入您要翻译的词或句子'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lmr廖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值