# '''
# Created on 2018-5-26
#
# @author: yaoshuangqi
# '''
import urllib.request
import urllib.parse
import json class YoudaoFanyi():
"""
有道词典API
"""
VERSION = 1.1
URL = 'http://fanyi.youdao.com/openapi.do'
KEY_FROM = 'Dic-EVE'
KEY = ''
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}
resp = urllib.request.urlopen(self.URL, urllib.parse.urlencode(params).encode(encoding='utf_8'))
data = resp.read().decode("utf_8")
print('有道API翻译内容:%s'%data)
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)
explains = data['basic']['explains']
if translation:
for t in translation:
print('\t翻 译:', t)
if explains:
print('\t解释:',explains)
else:
print('未找到该词') def main(text):
if text and text.strip() != '':
return YoudaoFanyi().translate(text) if __name__ == '__main__':
while True:
content = input('请输入翻译内容:')
if content:
YoudaoFanyi().format_for_command(content)
else:
print('有道翻译: \n\t提示:您已退出!!')
break
有道翻译API链接:http://fanyi.youdao.com/openapi?path=data-mode

简单实现Python调用有道API接口(最新的)的更多相关文章

  1. 用Python调用华为云API接口发短信

    [摘要] 用Python调用华为云API接口实现发短信,当然能给调用发短信接口前提条件是通过企业实名认证,而且有一个通过审核的短信签名,话不多说,showcode #!/usr/bin/python3 ...

  2. Python 调用图像融合API

    Python 调用图像融合API 本文记录使用Python,调用腾讯AI开放平台的图像融合API.官网给出的Demo用的是PHP,博主作为Python的粉丝,自然想用它来和『最好的』的语言一较高下,顺 ...

  3. Angular 调用百度地图API接口

    Angular 调用百度地图API接口 参考原文:https://blog.csdn.net/yuyinghua0302/article/details/80624274 下面简单介绍一下如何在Ang ...

  4. python调用openstack的api,create_instance的程序解析

    python调用openstack的api,create_instance的程序解析 2017年10月17日 15:27:24 CloudXli 阅读数:848   版权声明:本文为博主原创文章,未经 ...

  5. Python如何调用新浪api接口的问题

    前言:这些天在研究如何调用新浪开放平台的api分析新浪微博用户的数据 成果:成功调用了新浪api获取了用户的一些个人信息和无数条公共微博 不足:新浪开放平台访问有限制,返回的数据着实有限,不足以分析问 ...

  6. python调用有道翻译api实现翻译

    通过调用有道翻译的api,实现中译英.其他语言译中文 代码: # coding=utf-8 import urllib import urllib2 import json import time i ...

  7. .net core 和 WPF 开发升讯威在线客服系统:调用有道翻译接口实现实时自动翻译的方法

    业余时间用 .net core 写了一个在线客服系统.并在博客园写了一个系列的文章,写介绍这个开发过程. 我把这款业余时间写的小系统丢在网上,陆续有人找我要私有化版本,我都给了,毕竟软件业的初衷就是免 ...

  8. Python多线程豆瓣影评API接口爬虫

    爬虫库 使用简单的requests库,这是一个阻塞的库,速度比较慢. 解析使用XPATH表达式 总体采用类的形式 多线程 使用concurrent.future并发模块,建立线程池,把future对象 ...

  9. python 调用github的api,呈现python的受欢迎的程度

    1 使用api调用数据: 在浏览器的地址栏中输入: https://api.github.com/search/repositories?q=language:python&sort=star ...

随机推荐

  1. C语言中的神兽strdup

    C语言的确博大精深,在C语言的世界中遨游了那么多年,发现自己仍是菜鸟一枚,很多利器没有能够驾驭,今天介绍一个神兽,威力无比,但是却很少人能用得好. 函数原型: #include <string. ...

  2. Python-图像处理库PIL图像变换transpose和transforms函数

    1.transpose有这么几种模式FLIP_LEFT_RIGHT ,FLIP_TOP_BOTTOM ,ROTATE_90 ,ROTATE_180 ,ROTATE_270,TRANSPOSE ,TRA ...

  3. redis的hash类型!!!!

    Hash类型 redsi的hash是基本类型之一,键值本身又是一对键值结构,是string类型的field和value的映射表,或者说是集合,适合存储对象. Hash的增操作 127.0.0.1:63 ...

  4. springBoot(13)---整合Druid实现多数据源和可视化监控

    SpringBoot整合Druid实现多数据源和可视化监控 先献上github代码地址:https://github.com/yudiandemingzi/springboot-manydatasou ...

  5. C# 《编写高质量代码改善建议》整理&笔记 --(四)资源管理&序列化

    1.显示释放资源需继承接口IDisposable 什么是资源:C#中每一个类型都代表一种资源,而资源又分为以下两类. 托管资源:由CLR管理分配和释放的资源,即从CLR里new出来的对象. 非托管资源 ...

  6. springboot~基于单元测试的mongodb

    添加对应版本的包 testCompile('de.flapdoodle.embed:de.flapdoodle.embed.mongo:1.46.0') 在测试之前,它会根据你的操作系统去下载当前的m ...

  7. Python的线程池

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ concurrent 用于线程池和进程池编程而且更加容易,在Pytho ...

  8. Form 表单提交的几种方式

    简单的总结一下form表单提交的几种方式:1.最简单的方式 就用form的submit提交方式,这种提交方式是不需要回调函数的   这种方式最近到一个form提供action路径后台接受就可以< ...

  9. c# 抽象类,抽象方法使用(abstract)

    入行一年多,在这个IT行业,开发技术主要使用的是.NET,而对应使用的高级语言自然就是c#了.从2017年7月入职后,在平时的工作过程中,只记得使用一些方法去完成逻辑功能,而很少去深究一些语法特性,特 ...

  10. C# 把字符串类型日期转换为日期类型(转载)

    C# 把字符串类型日期转换为日期类型   来源:https://www.cnblogs.com/raincedar/p/7009243.html 方法一:Convert.ToDateTime(stri ...