python 调用有道api接口的方法

时间:2022-09-07 18:03:57

初学python ,研究了几天,写了一个python 调用 有道api接口程序

效果看下图:

python 调用有道api接口的方法

申明:代码仅供和我一样的初学者学习交流

有道api申请地址http://fanyi.youdao.com/openapi?path=data-mode

申请很简单的 ps:审核不用花时间的,请勿滥用!!

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#-*- coding: UTF-8 -*-
import urllib
import urllib2
import requests
import json
import sys
reload(sys)
sys.setdefaultencoding("utf-8"
#print(sys.getdefaultencoding())
def youdao(text,c=1):  #c 1 翻译 2查词
    #textx=text.decode('gbk').encode('utf-8')  #将gbk编码转utf-8 编码  有道api要求传入 utf-8 编码
    from urllib import quote
    #t=quote(textx)
    t=quote(text)
    url="接口" #这个链接自己申请哈
    r = requests.get(url)
    if r.status_code==200:
        res=json.loads(r.text,encoding='utf-8')
        errorCode=res['errorCode']
        title='『小风翻译』\n\n'
        yd='\n数据来源 有道'  #这句必须有,对有道提供免费的api接口表示感谢。
        if errorCode==0:
            query=res['query'] #分析翻译
            translation=res['translation']
            trans=u'原文:%s\n翻译:%s' % (query,translation[0])
            trans_s=trans#.encode('GB18030')
 
            basic_s=''
            if 'basic' in res:  #分析有基础释义部分
                phonetic=res['basic']['phonetic']
                explains=res['basic']['explains']
                phone_s=u'%s  %s\n---基本释义---\n' % (query,phonetic)
                for x in explains:
                    basic_s=basic_s+x+'\n'
                basic_s=phone_s+basic_s  #基本释义
            
            web_s=' '  
            if 'web' in res:
                web_s='---网络释义---\n'
                web=res['web']
                for x in web:
                    web_k=x['key']
                    web_v=x['value']
                    value=''
                    for v in web_v:
                        value=value+v+'; '
                    web_s=web_s+'√ '+web_k+'\n释义:'+value+'\n'
            if c==1:
                send=title+trans_s+'\n\n'+web_s+yd
                return send#.encode('GB18030')
            else:
                send=title+basic_s+'\n'+web_s+yd
                return send#.encode('GB18030')
        elif errorCode==20:
            return '亲,输入的字数过长了,小风做不到啊ヽ(≧□≦)ノ'
        elif errorCode==30:
            return 'What? 翻译失败了,再试一次吧(⊙o⊙)'
        else :
            return '服务器异常,错误%i,请联系QQ1849059316' % errorCode
    else :
        return '访问出错!请联系QQ1849059316'
print youdao('include')

注意:requests 库必须先安装

>>这里提供用ipi的方式安装,这种方式简单!另外的方式请移步百度,毕竟一抓一大把的东西没必要写了

方法:打开命令行 直接键入 pip install requests 然后就ok了 哈哈

以上这篇python 调用有道api接口的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_33775402/article/details/58708393