编程题

小朋友们在学英语的过程中,通常会遇到两种情况,第一种将英语翻译成汉语,第二种将汉语翻译成英语。本题目要求小朋友们利用“有道翻译”提供的API接口做一个翻译小工具。

有道翻译的网址:https://fanyi.youdao.com/

有道翻译python api 有道翻译官网入口_有道翻译

首先,对“有道翻译”的网页进行分析。

其次,找到“有道翻译”发送请求的方法以及响应该请求的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. 结果展示

插入视频