100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > html连接有道词典api 调用有道翻译API

html连接有道词典api 调用有道翻译API

时间:2021-07-22 19:44:58

相关推荐

html连接有道词典api 调用有道翻译API

前两天朋友说起NASA开放了数据API,今儿突然想起从来没用过外部提供的API,然而简单用得多的貌似是有道词典API,就像试试,本来觉得应该挺简单的,用urllib模块很快就实现了。

不过测试时才发现中文传递出现了问题:

先来看看在/openapi?path=data-mode申请Key与Keyfrom

网页下方有使用说明:

其中<>内的就是你自己填的,在此doctype用json

由此可以看出调用返回的“translation”就可以得到翻译后的值

代码如下:

#coding:UTF-8

import urllib2

import json

from urllib import urlencode

from urllib import quote

class Youdao:

def __init__(self):

self.url = '/openapi.do'

self.key = '' #有道API key

self.keyfrom = 'pdblog' #有道keyfrom

def get_translation(self,words):

url = self.url + '?keyfrom=' + self.keyfrom + '&key='+self.key + '&type=data&doctype=json&version=1.1&q=' + words

result = urllib2.urlopen(url).read()

json_result = json.loads(result)

json_result = json_result["translation"]

for i in json_result:

print i

youdao = Youdao()

while True:

msg = raw_input()

msg = quote(msg.decode('gbk').encode('utf-8')) #先把string转化为unicode对象,再编码为utf-8.若没有此行则传入的中文没法翻译,英文可以!!!

youdao.get_translation(msg)

坑:urlencode只能够对字典型的键值对的数据格式起作用,故在此地不能够使用

而看别人博客写到用urllib.quote方法可以将单个的string进行urlencode

如果直接这样做的话仍然会报错:No JSON object could be decoded

故实际应该先解码汉字的GBK编码在加码成为通用的utf-8编码后再quote即可。

相关推荐博客:

/thread-1173-1-1.html

/ymy124/archive//06/23/2559282.html

/uid-25063573-id-3033365.html

C&plus;&plus;调用有道翻译API实现在线翻译之发声篇

大概半月前写了一篇博文:C++中使用Curl和JsonCpp调用有道翻译API实现在线翻译, 得到大家的热情捧场,有人看了文章说要是能发声不是更好,我觉得说的也是哈,能听到专家的标准发音,那该是多美的 ...

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

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

C&plus;&plus;中使用Curl和JsonCpp调用有道翻译API实现在线翻译

使用C++开发一个在线翻译工具,这个想法在我大脑中过了好几遍了,所以就搜了下资料,得知网络上有很多翻译API,这里我选择我平时使用较多的有道翻译API进行在线翻译工具开发的练习.翻译API返回的结果常 ...

Asp&period;NET调用有道翻译API

调用有道API进行翻译,如图: HTML:

利用有道翻译Api实现英文翻译功能

有道翻译提供了翻译和查词的数据接口.通过数据接口,您可以获得一段文本的翻译结果或者查词结果. 通过调用有道翻译API数据接口,您可以在您的网站或应用中更灵活地定制翻译和查词功能. 第一步: ...

&lbrack;Python&rsqb; 使用有道翻译API

Python 使用youdao (有道翻译)API 想写一个给自己记录背单词状况的软件,需要获取英文单词的中文释义(基本功能).考虑使用有道翻译的API实现获取英文单词的中文释义的方法. 获取API_ ...

记微信开发&lpar;有道翻译api&rpar;

记微信开发(有道翻译api) 记微信开发(有道翻译api) 效果: 有道翻译api申请: 地址:/openapi code: <?php /** * ...

tornado框架学习及借用有道翻译api做自动翻译页面

趁着这几天有时间,就简单的学了一下tornado框架,简单做了个自动翻译的页面 仅为自己学习参考,不作其他用途 文件夹目录结构如下: . ├── server.py ├── static │ └─ ...

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

在Android应用中,加入在线翻译的功能,这里调用的是有道翻译的API. 使用有道翻译API.首先要申请一个key,申请地址为:path=data-mode">有道翻译API申请地址 ...

随机推荐

Go语言实战 - revel框架教程之用户注册

用户注册.登录和注销是任何一个网站都必然会有的功能,可以说,这是重新造轮子做多的领域,每个做网站的人应该都做过很多遍.见微知著,从这么一个小功能其实就可以看到所使用的web框架中的大部分东西. 今天就 ...

SqlMetal&period;exe ORM代码生成

作甚? 先说说这个工具是干啥的,我们所做的程序,或多或少需要存储一些数据到数据库,当然直接使用Sql语句也可以,甚至有些情况下就是要使用sql语句,但对于一些基本的增删改查,对每张表都要写查询语句就显 ...

LINQ to SQL语句&lpar;1&rpar;之Where

适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操作包括3种形式,分别为简单形式.关系条件形式. ...

第十三章、学习 Shell Scripts 循环 &lpar;loop&rpar;

while do done, until do done (不定循环) while [ condition ] <==中括号内的状态就是判断式 do <==do 是回圈的开始! 程序段落 ...

【转】在写一个iOS应用之前必须做的7件事&lpar;附相关资源&rpar;

转自:/ios/0316/15687.html 本文由CocoaChina--不再犹豫(tao10704@)翻译 作者: ...

为什么1Byte&equals;8bit

Byte是字节的意思,而字节在早期计算机内部是用标准ASCII码来表示的根据当时情况确定至多有128种需要表示的字符(当时是IBM的标准,现在普遍是255),也就是2的7次方用二进制的0和1来表示就需 ...

Android应用开发基础篇(4)-----TabHost(选项卡)

一.概述 TabHost是一种用来显示标签的组件,不清楚?看一下来电通这个应用就知道了.这个组件用起来与其他组件不太一样,它需要继承TabActivity这个类,还有它的布局文件与我们平时用的也有些不 ...

STL之iterator&lpar;迭代器&rpar;

3.迭代器简单介绍 除了使用下标来訪问vector对象的元素外,标准库还提供了訪问元素的方法:使用迭代器.迭代器是一种检查容器内元素而且遍历元素的数据类型. 百科释义: 迭代器(iterator)是一 ...

&lbrack;bzoj3668&rsqb;&lbrack;Noi&rsqb;起床困难综合症&sol;&lbrack;洛谷3613&rsqb;睡觉困难综合症

来自FallDream的博客,未经允许,请勿转载,谢谢. 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综 ...

idea不显示gradle的视图解决办法

选择build tool.找到gradle→Runner,把委托给IDE构建勾选,然后重新导入一次就好了.

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