失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python有道翻译接口-【Python】Python利用有道翻译开发API应用示例

python有道翻译接口-【Python】Python利用有道翻译开发API应用示例

时间:2024-07-03 20:42:20

相关推荐

python有道翻译接口-【Python】Python利用有道翻译开发API应用示例

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

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

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

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

#!/usr/bin/env python

# -*- coding: utf-8 -*-

#

import urllib2

import urllib

import simplejson as json

import sys

class YoudaoDic():

"""

有道词典API

"""

VERSION = 1.1

URL = '/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 ' 原文本:', data.get('query', text)

translation = data.get('translation', None)

if translation:

for t in translation:

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

大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python资源分享秋秋裙:855408893 内有安装包,学习视频资料,免费直播实战案例。这里是Python学习者的聚集地,零基础,进阶,都欢迎每日分享一些学习的方法和需要注意的小细节

如果觉得《python有道翻译接口-【Python】Python利用有道翻译开发API应用示例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。