Python 使用白嫖网易翻译 API 进行翻译

前言

首先感谢观众们对我的博文进行修正,也感谢大家支持!由于上一篇在Python社区上传的博文是我很久以前制作的,我直接从我的个人网站复制了,所以粘贴会出现错误,特别是文章中出现的html文本会造成网页错误,我会进行一步一步慢慢修改的,那么这期呢是纯教程,我会一步一步教大家如何白嫖与使用接口。

找接口

网易的翻译api是需要money的,想要尝试白嫖就要从“公开”的地方入手。“公开”指什么呢?“公开”指网页官方开放的地方(比如:在线翻译),打开网页翻译,并开始抓包

看来是把翻译内容直接写在网址里,大体看了一下下面的翻译结果,直接处理会花费很多时间,如果不想直接访问网页的话只可以通过有道官方提供的API了,
我找到了官方的API介绍中的API演示

并输入文字开始抓包,

果然没有让我失望过,但是需要注意一点,这个接口必须使用POST访问,只是个DEMO是没有网易提供的应用ID与Key的,不可以频繁调用,结合官方的API文档

就可以开始写代码了。

写代码

由于接口是允许允许多语言翻译的,我先写一个简单的程序进行调用:

import requests

if __name__ == '__main__':
    print('BY我叫以赏 And Pikachu!网易api接口翻译文字!')
    Q = input('输入欲翻译文本:')
    From = input('请输入原文本语种(为空或没有输入采用自动识别):')
    if From.strip() == '':
        From = 'Auto'
    To = input('请输入翻译文本语种(为空或没有输入采用自动识别):')
    if To.strip() == '':
        To = 'Auto'
    data = {
        'q' : Q,
        'from' : From,
        'to' : To
    }
    information = requests.post('https://aidemo.youdao.com/trans',data)
    print(information.json())

没有问题,加工一下就可以使用了。

import requests

if __name__ == '__main__':
    print('BY我叫以赏 And Pikachu!网易api接口翻译文字!')
    while True:
        Q = ''
        while Q.strip() == '' or len(Q.strip()) > 1000:
            Q = input('输入欲翻译文本:')
            if Q.strip() == '':
                print('欲翻译文本不可以为空!')
            if len(Q.strip()) >= 1000:
                print('欲翻译文本长度不可以超过1000!')
        print('欲翻译文本 => %s' % (Q))
        From = input('请输入原文本语种(为空或没有输入采用自动识别):')
        if From.strip() == '':
            From = 'Auto'
        print('原文本语种 => %s' % ({'Auto': 'Auto(自动识别)'}.get(From, From)))
        To = input('请输入翻译文本语种(为空或没有输入采用自动识别):')
        if To.strip() == '':
            To = 'Auto'
        print('翻译文本语种 => %s' % ({'Auto': 'Auto(自动识别)'}.get(To, To)))
        data = {
            'q': Q,
            'from': From,
            'to': To
        }
        information = requests.post('https://aidemo.youdao.com/trans', data)
        json = information.json()
        errorCode = json['errorCode']
        if errorCode != '0':
            print('出现错误!返回的状态码为:%s' % (errorCode))
            break
        # tSpeakUrl = json['tSpeakUrl']
        # speakUrl = json['speakUrl']
        # web = json['web']
        query = json['query']
        translation = json['translation']
        print('原文本:' + query)
        for x in range(len(translation)):
            print('翻译结果' + str(x + 1) + " : " + translation[x])

更多请自行添加,官方参考链接:ai.youdao.com/DOCSIRMA/

发表评论 (0)

后再参与讨论
公告
公告