Python は Youdao Translation を使用して API アプリケーションのサンプルを開発します

この Python ソース コードの投稿は、Youdao Translation を使用して API アプリケーション サンプルを開発する Pythonについてですこれは非常に興味深く、簡単な API アプリケーションの演習です。このメソッドでは Youdao Dictionary オープン API アプリケーションを使用し、合成された Python アプレットはコマンド ライン辞書アプリケーションに似ています。機能はシンプルですが効果は絶大です。

ここで注意すべき点は、Youdao APIには1時間あたり1,000回のリクエスト回数制限があり、それを超えるとBANされてしまいます。

ヒント: これを常に使用したい場合は、自分で KEY を申請できます。申請プロセスは非常に簡単で、元の KEY_FROM と KEY を置き換えるだけです。

Python は Youdao Translation を使用して 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提示:请输入您要翻译的词或句子'

おすすめ

転載: blog.csdn.net/lmrylll/article/details/131961871