1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【python】20行代码实现有道翻译api接口调用

【python】20行代码实现有道翻译api接口调用

时间:2023-12-08 04:27:24

相关推荐

【python】20行代码实现有道翻译api接口调用

文章目录

1. 目标站点2. 完整代码3. 测试样例3.1. 测试样例Ⅰ(汉译英)3.2. 测试样例Ⅱ(英译汉)4. 调用文档4.1. 接口地址4.2. 请求方法4.3. 请求参数4.4. 请求示例4.5. 成功响应5. 接口分析6. 相关推荐

1. 目标站点

/

2. 完整代码

import requestsdef main(query):url = '/translate'data = {"i": query, # 待翻译的字符串"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": "16081210430989","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_CLICKBUTTION"}res = requests.post(url, data=data).json()print(res['translateResult'][0][0]['tgt']) # 打印翻译后的结果main('你好') # 输出: hello

3. 测试样例

3.1. 测试样例Ⅰ(汉译英)

样例输入世界

import requestsdef main(query):url = '/translate'data = {"i": query, # 待翻译的字符串"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": "16081210430989","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_CLICKBUTTION"}res = requests.post(url, data=data).json()print(res['translateResult'][0][0]['tgt']) # 打印翻译后的结果main('世界')

样例输出The world

3.2. 测试样例Ⅱ(英译汉)

样例输入The world

import requestsdef main(query):url = '/translate'data = {"i": query, # 待翻译的字符串"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": "16081210430989","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_CLICKBUTTION"}res = requests.post(url, data=data).json()print(res['translateResult'][0][0]['tgt']) # 打印翻译后的结果main('The world')

样例输出世界

4. 调用文档

4.1. 接口地址

/translate

4.2. 请求方法

post

4.3. 请求参数

4.4. 请求示例

import json, requestsdef main(query):url = '/translate'data = {"i": query, # 待翻译的字符串"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": "16081210430989","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_CLICKBUTTION"}res = requests.post(url, data=data).json()print(json.dumps(res, indent=2, ensure_ascii=False))main('hello')

4.5. 成功响应

{"type": "EN2ZH_CN","errorCode": 0,"elapsedTime": 1,"translateResult": [[{"src": "hello","tgt": "你好"}]]}

5. 接口分析

1、进入有道翻译页面,F12打开开发者调试工具,选择Network-XHR

2、我们马上就发现了一个api接口:

/translate_o

3、然后我们看一下它的请求参数:

4、使用python在后端发送请求:

import requestsimport jsonurl = '/translate_o'data = {"i": "你好", # 待翻译的字符串"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": "16081239145423","sign": "d567c9205219fd9d3aa9c677d1535212","lts": "1608123914542","bv": "495f346d16cfce476d93dc879b9e4485","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_REALTlME"}res = requests.post(url, data=data).json()print(json.dumps(res, indent=2, ensure_ascii=False))

5、响应结果:

{"errorCode": 50}

6、额……报错(⊙﹏⊙)。怎么办呢?/(ㄒoㄒ)/~~……别急接着往下看。

1、在github上又看到了一个api接口,就是把之前那个接口的_o去掉:

/translate

2、然后就请求成功了:

{"type": "ZH_CN2EN","errorCode": 0,"elapsedTime": 0,"translateResult": [[{"src": "你好","tgt": "hello"}]]}

3、请求参数其实还可以做一些删减,signltsbv都不需要,可以删掉。

4、然后actionFY_BY_REALTlMEFY_BY_CLICKBUTTION中任意选择一个都行。

5、很显然,res['translateResult'][0][0]['tgt']中的字符串就是你好翻译后结果。

6、其实salt参数也没啥用,可以不要。

6. 相关推荐

【python】5行代码实现百度翻译api接口调用

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