编程题
小朋友们在学英语的过程中,通常会遇到两种情况,第一种将英语翻译成汉语,第二种将汉语翻译成英语。本题目要求小朋友们利用“有道翻译”提供的API接口做一个翻译小工具。
有道翻译的网址:https://fanyi.youdao.com/
首先,对“有道翻译”的网页进行分析。
其次,找到“有道翻译”发送请求的方法以及响应该请求的url地址。
再次,编写代码实现给出汉语返回英文、给出英文返回汉语的功能。
最后,输入“q!”结束程序。
1. 思路分析
接口地址:http://fanyi.youdao.com/translate
请求方法:post
请求参数:
参数 | 描述 |
i | 待翻译的字符串 |
from | 源语言(可设置为auto) |
to | 翻译后的语言(可设置为auto) |
client | 客户端 |
doctype | 返回文档类型 |
version | 版本号 |
keyfrom | 键来源 |
action | 执行翻译的动作 |
2. 程序代码
import requests
import time
while True:
content = input('请输入要翻译的内容(输入“q!”退出):')
if content == 'q!':
break
url = 'https://fanyi.youdao.com/translate'
head = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36(KHTML.like.Gecko) '
'Chrome/39.0.2171.65 Safari/537.36'
}
data = {
'i': content, # 待翻译的字符串
"from": "AUTO",
"to": "AUTO",
"client": "fanyideskweb",
"doctype": "json",
"version": "2.1",
"keyfrom": "fanyi.web",
"action": "FY_BY_REALTlME"
}
try:
res = requests.post(url, data=data).json()
print(res) # 显示出返回的结果
target = res['translateResult'][0][0]['tgt']
print(target) # 打印翻译后的结果
time.sleep(1)
except:
print('遇到错误', res)
break
3. 结果展示
插入视频