时间:2022-10-09 17:42:05 | 浏览:2794
开发 百度提供的接口实在是太挫了,于是看有道翻译的接口,果然很是不错。遂决定基于有道的 Api 来写这个工具。首先到
https://ai.youdao.com/register.s 进行注册,注册之后创建一个应用,以及创建一个自然语言翻译实例。进行绑定后,拿到 AppId 和 AppKey 两个关键参数。 然后,我们在本地创建 config.py 文件,录入以下代码: #!/usr/bin/env python3 # -*- coding: UTF-8 -*- APPID = "Your AppId" APPKey = "Your AppKey" 1 2 3 4 5 1 2 3 4 5 将自己申请得到的参数填写到上面的文件中。然后我们创建 fanyi.py 文件,写入以下代码: #!/usr/bin/env python3 # -*- coding: UTF-8 -*- import requests import argparse import random import hashlib import json from config import APPID, APPKey from prettytable import PrettyTable def fanyi(word, goNext): baseUrl = "
https://openapi.youdao.com/api" salt = str(random.randint(1000000, 9999999)) sign = APPID + word + salt + APPKey m1 = hashlib.md5() m1.update(sign.encode("utf-8")) md5Sign = m1.hexdigest() queryFrom = { "appKey": APPID, "q": word, "from": "auto", "to": "auto", "salt": salt, "sign": md5Sign, } r = requests.post(baseUrl, data=queryFrom) if r.status_code == 200: res = json.loads(r.text) if res["errorCode"] == "0": showRes(word, res) if goNext: print("
") inputWord(False) else: print(res["errorCode"]) exit() else: print(r.status_code) exit() def showRes(word, res): tableHead = ["原词", word] x = PrettyTable(tableHead) x.padding_width = 1 x.align = "l" print("
33[1;36m简单结果 33[0m") for i in res["translation"]: x.add_row(["结果", i]) print(x) if "basic" in res: print("
33[1;36m有道词典 33[0m") basic = res["basic"] if "wfs" in basic: wfs = basic["wfs"] x = PrettyTable(["演化", "结果"]) x.padding_width = 1 x.align = "l" for i in wfs: x.add_row([i["wf"]["name"], i["wf"]["value"]]) print(x) if "explains" in basic: exps = basic["explains"] x = PrettyTable(["示例"]) x.padding_width = 1 x.align = "l" for i in exps: x.add_row([i]) print(x) if "web" in res: print("
33[1;36m网络释义 33[0m") x = PrettyTable(["相关词汇", "翻译"]) x.padding_width = 1 x.align = "l" for i in res["web"]: x.add_row([i["key"], ", ".join(i["value"])]) print(x) def inputWord (isFirst): if isFirst: print("
33[1;36m英汉互译词典 33[0m by FungLeo") print(" 33[35mTip:退出程序请输入 33[1;31mexit 33[4;0m
") word = input("请输入要翻译的内容:") if word == "exit": print(" 33[0m很高兴为您服务") exit() else: fanyi(word, True) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.description = "YouDao Fanyi Cli" parser.add_argument("-v", "--version", action = "version", version = "%(prog)s V0.0.1") parser.add_argument("word", type = str, help = "需要翻译的单词", nargs = "?") args = parser.parse_args() if args.word == None: inputWord(True) else: fanyi(args.word, False) 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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 如上代码就开发完成了。代码逻辑没什么要说的,只是简单的请求接口,另外把拿到的数据进行了一些美化而已。此外就是命令行工具的一些基本配置了。 有道翻译官方文档地址:
http://ai.youdao.com/docs/doc-trans-api.s 测试 我们可以用 -v 以及 -h 来分别查看版本号以及帮助信息。如下图所示: 我们可以用直接跟需要翻译的词或句子(句子需要用双引号包含),进行随时翻译后立即关闭的服务。如下图所示: 我们还可以不输入参数,进入连续翻译模式,如下图所示: 如上,这些功能已经非常适合我的需要了,也就无所他求了。 有道翻译非常厚道的赠送了 100 元初始资金用户调用接口,相信足够我用很长时间。如果花完了也没关系,再冲钱就是了。 之前之所以破解百度的翻译来写,是因为百度提供的 Api 实在太烂,没办法才破解。我们不是不愿意付费,而是我们只愿意为优秀的服务付费。
《向人民报告》绍兴市柯桥区委书记沈志江说,柯桥将坚定不移沿着“八八战略”指引的路子走下去,加快打造“绍兴大城市建设的排头兵、接轨沪杭都市圈的桥头堡”。15年来,在“八八战略”指引下,柯桥实现了由一个镇到一座新城的飞速跨越。2017年,全区实
以“打造武汉都市圈重要节点城市”为目标孝感市深入推进孝汉同城把比较优势转化为发展胜势在建设全国构建新发展格局先行区中贡献孝感力量规划同编首衡城的探索首衡城华中国际食品产业新城作为孝汉同城首个示范区,计划于今年11月启动运营的首衡华中国际食品
河南经济报 记者 曹永飞 通讯员 丁小芳“清廉亭里坐一坐,里面的清风典故和诗词总能让我静下来思考。”9月13日,鹤壁市淇滨区九州路街道九江社区居民张先生对家门口的清廉文化阵地赞不绝口。今年年初以来,九州路街道全力推进清廉村居建设,在营造清廉
人民网-安徽频道舞蹈室、书画社、社区图书馆、老年康复室,助餐助浴还有日间服务……如果在社区有这样一个综合为老服务中心,既为辖区老年人平日休闲生活提供了一个好地方,又解决了年轻人不能时刻陪伴在侧的后顾之忧。如今,安徽省淮北市相山区打造的社区综
来源:廊坊云报8月17日,广阳区委五届九次全会召开,贯彻落实市委六届十次全会精神。广阳区委书记徐静华在接受记者采访时表示:“今年以来,面对疫情冲击和经济下行压力加大的双重考验,广阳区担当尽责、创新进取,着力打造‘一核两区五带’经济发展新格局