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

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

                python资源分享扣扣群:855408893 ,与你分享Python企业当下人才需求,怎么学Python,和学习什么内容!

原文地址:https://blog.51cto.com/14429370/2417280

时间: 2024-11-01 18:19:42

【Python】Python利用有道翻译开发API应用示例的相关文章

有道翻译接口Api 直接提交中文返回乱码

有道翻译接口Api http://fanyi.youdao.com/openapi.do?keyfrom=***&key=***&type=data&doctype=json&version=1.1&q=word word就是查询内容,如hello,但是查询中文“你好”出现返回乱码. 解决办法:String lastedword=URLEncoder.encode(word, "UTF-8"); http://fanyi.youdao.com/o

利用python写一个有道翻译的脚本

废话不多说,直接上代码 import urllib.request import urllib.parse import json content = input("请输入要翻译的内容:") url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null' data = {} data['type'] = 'AU

python爬取有道翻译

1.准备工作 先来到有道在线翻译的界面http://fanyi.youdao.com/ F12 审查元素 ->选Network一栏,然后F5刷新 (如果看不到Method一栏,右键Name栏,选中Method) 输入文字自动翻译后发现Method一栏有GET还有POST:GET是指从服务器请求和获得数据,POST是向指定服务器提交被处理的数据. 随便打开一个POST,找到preview可以看到我们输入的“我爱你一生一世”数据,可以证明post的提交数据的 下面分析一下Headers各个字段的意义

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

通过调用有道翻译的api,实现中译英.其他语言译中文 代码: # coding=utf-8 import urllib import urllib2 import json import time import hashlib class YouDaoFanyi: def __init__(self, appKey, appSecret): self.url = 'https://openapi.youdao.com/api/' self.headers = { "User-Agent"

Android使用有道翻译API实如今线翻译功能

在Android应用中,加入在线翻译的功能,这里调用的是有道翻译的API. 使用有道翻译API.首先要申请一个key,申请地址为:有道翻译API申请地址. 申请之后就会得到一个keyfrom和一个key. 获取翻译结果的数据接口为:http://fanyi.youdao.com/openapi.do? keyfrom=<keyfrom>&key=<key>&type=data&doctype=<doctype>&version=1.1&a

Android使用有道翻译API实现在线翻译功能

在Android应用中,添加在线翻译的功能,这里调用的是有道翻译的API. 使用有道翻译API,首先要申请一个key,申请地址为:有道翻译API申请地址. 申请之后就会得到一个keyfrom和一个key. 获取翻译结果的数据接口为:http://fanyi.youdao.com/openapi.do?keyfrom=<keyfrom>&key=<key>&type=data&doctype=<doctype>&version=1.1&am

linux下终端使用有道翻译

linux下面使用终端,有的时候需要查找一个单词,都需要打开浏览器通过网页来查找单词,这样效率会会非常的繁琐,并且也会降低工作效率. 之前刚开始看python文档的时候,看过别人说的一个用python写的在终端下查单词的脚本,当时没记录下来,后来也没找到. 今天本来是想解决我网站的显示的问题,但是想到这个不做了就感觉哪里不对,一股强迫症的感觉.. 自己用python写了一个脚本,用的是有道翻译的api,感谢有道. 使用方法为,python youdao.py  word  ,单词 word为你要

爬虫新手学习2-爬虫进阶(urllib和urllib2 的区别、url转码、爬虫GET提交实例、批量爬取贴吧数据、fidder软件安装、有道翻译POST实例、豆瓣ajax数据获取)

爬虫新手学习1-爬虫基础 1.urllib和urllib2区别实例 urllib和urllib2都是接受URL请求相关模块,但是提供了不同的功能,两个最显著的不同如下: urllib可以接受URL,不能创建设置headers的Request类实例,urlib2可以. url转码 https://www.baidu.com/s?wd=%E5%AD%A6%E7%A5%9E python字符集解码加码过程: 2.爬虫GET提交实例 #coding:utf-8 import urllib #负责url编

python爬虫(10)身边的翻译专家——获取有道翻译结果

本文目的:使用python 实现翻译效果 思路:有道翻译可以直接翻译内容,观察它的网页内容以及URL可以发现,它的基本url 和将要翻译的内容组合起来就是最后翻译的页面 比如: 有道中英文翻译的网址是:http://dict.youdao.com/ 将要翻译的内容是: I'm a Chinese 点击一下翻译,然后出现的含有翻译结果页面的地址是:  http://dict.youdao.com/w/eng/I'm%20a%20chinese/#keyfrom=dict2.index 虽然这个网址