调用百度通用翻译API进行中文翻译(附python代码)

文章目录

  • 1. 百度API
  • 2. API接口
  • 3. 大规模使用
  • 4. Acknowledgment
  • Reference
  • 彩蛋:百度大脑 AI开放平台

1. 百度API

在百度翻译开放平台(http://api.fanyi.baidu.com/api/trans/product/desktop)注册账号,可以免费使用基本版翻译功能。

服务介绍: 支持28种语言实时互译,覆盖中、英、日、韩、西、法、泰、阿、俄、葡、德、意、荷、芬、丹等;同时支持28种语言的语言检测。「 广泛适用于各领域有翻译需求的开发者 」

2019年7月2日起,通用翻译API升级为标准版、高级版和尊享版三个版本:

标准版:提供基础文本翻译服务,QPS(每秒并发请求量)=1,个人或企业用户均可申请使用
高级版:提供基础文本翻译服务,同时可申请自定义术语功能,QPS=10,供个人认证用户申请使用
尊享版:提供基础文本翻译服务,同时可申请词典、语音合成、自定义术语功能,QPS=100,供企业认证用户申请使用

收费模式:

标准版:免费使用,不限使用字符量
高级版、尊享版:每月翻译字符数低于200万,享免费服务;超过200万字符,按照49元/百万字符支付当月超出部分字符量费用

标准版还是比较良心的,一秒钟可以查词一次,并且免费。

2. API接口

需要在开发者信息(http://api.fanyi.baidu.com/manage/developer)中拿到你的ID和密钥,才能正常使用。

参考网上相关代码:
将你的秘钥放进appid 和secretKey。

#coding=utf8

import json
import http.client    #修改引用的模块
import hashlib        #修改引用的模块
from urllib import parse
import random


def translate(q):

    appid = '***' #你的appid
    secretKey = '*****' #你的密钥
    
    httpClient = None
    myurl = '/api/trans/vip/translate'
    fromLang = 'en'
    toLang = 'zh'
    salt = random.randint(32768, 65536)

    sign = appid+q+str(salt)+secretKey
    m1 = hashlib.md5()
    m1.update(sign.encode("utf-8"))
    sign = m1.hexdigest()


    myurl = myurl+'?appid='+appid+'&q='+parse.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign

    try:
        httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
        httpClient.request('GET', myurl)
        response = httpClient.getresponse()

        #转码
        html = response.read().decode('utf-8')
        html = json.loads(html)
        dst = html["trans_result"][0]["dst"]
        return dst
    except Exception as e:
        print(e)
    finally:
        if httpClient:
            httpClient.close()

print(translate("cat"))

执行上方代码,若最后输出“猫”,即可正常使用。

3. 大规模使用

在大规模调用API的时候,需要注意标准版的QPS(每秒并发请求量)=1,所以查询一次之后需要休眠一秒钟,才能继续查询,否则会出错。

from translate import translate
import time
i = 0
while 1:
    time.sleep(1)
    trans = translate(text)
    i += 1
    if text == None:
        break
    if i >= 389140:
        break

4. Acknowledgment

感谢作者的好友 HNU_刘yuan 对本文的帮助。

Reference

https://blog.csdn.net/qq_40608730/article/details/123170585

彩蛋:百度大脑 AI开放平台

https://ai.baidu.com/experience

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/478684.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言复杂度(个人笔记)

时间复杂度主要衡量一个算法的运行快慢. 空间复杂度主要衡量一个算法运行所需要的额外空间. 时间复杂度 算法中的基本操作的执行次数,为算法的时间复杂度. 只需要大概执行次数,我们使用大O的渐进表示法。(看谁对数学表达式的影响最大) 空间复杂度 是…

论文笔记:Contrastive Multi-Modal Knowledge GraphRepresentation Learning

论文来源:IEEE Transactions on Knowledge and Data Engineering 2023 论文地址:Contrastive Multi-Modal Knowledge Graph Representation Learning | IEEE Journals & Magazine | IEEE Xplorehttps://ieeexplore.ieee.org/abstract/document/9942…

可变形卷积颠覆式创新!新SOTA提速80%,更高性能,更强几何适应能力

在传统的卷积神经网络中,固定模式的卷积核在处理图像时可能会限制网络对不规则形状特征的提取能力。为了解决这个问题,研究者提出了可变形卷积。 可变形卷积是一种改进的卷积操作,它通过引入可学习的偏移量来增强模型对几何变化的适应能力&a…

qt+ffmpeg 实现音视频播放(三)之视频播放

一、视频播放流程 (PS:视频的播放流程跟音频的及其相似!!) 1、打开视频文件 通过 avformat_open_input() 打开媒体文件并分配和初始化 AVFormatContext 结构体。 函数原型如下: int avformat_open_inpu…

python 教你如何创建一个自定义库 colorlib.py

目录 Colorlib 生成代码 模块代码 导入测试 测试一 测试二 应用测试 颜色列表 colorList 随机颜色元组 randcolorTuples 随机颜色字串 randcolorStrings Color类测试 测试一 测试二 题外话 Colorlib 有没有碰到过这样的场景:写代码时想要用上丰富的色…

C#混淆心得

C#混淆心得 近期遇到混淆C#代码的需求,在网上找了很多办法,在此记录一下。 混淆的本质就是让代码变丑,让别人看不懂。 为什么要混淆: 1.保护核心代码 可以在一定程度上避免别人偷代码,从而保护重要的部分&#xf…

3.3 RK3399项目开发实录-板载Ubuntu系统的使用(wulianjishu666)

嵌入式物联网常用90款传感器开发例程。链接:https://pan.baidu.com/s/1oisHMZXDzKqa4EspY83V-A?pwdo5f4 1. 介绍 Ubuntu 使用手册是针对 Firefly 官方发布的 Ubuntu 系统固件特性所编写,适用于 Ubuntu Desktop 与 Minimal 系统,部分与 UI 显…

适用于智能语音小家电的语音ic类型有哪些?

适用于智能语音小家电的语音ic类型有哪些? 1. 语音播放芯片:这种芯片主要用于实现语音提示和报警功能。例如,当按下某个按钮时,它可以发出语音提醒,或者在出现故障时发出报警声音。这种芯片的应用非常广泛&#xff0…

Halcon 条码读取

一维码读取 create_bar_code_model 创建条码读取器的模板 set_bar_code_param 配置解码方式 find_bar_code 读取条码 clear_bar_code_model 清除条码匹配模板 * 1.创建条码读取器的模板 * 参数一:通用参数的名称,针对条形码模型进行调整。默认值为空 * 参…

Java实用经验总结

前言:以下为笔者在工作中总结的好用且简洁代码的经验 文章目录 1、多判断代替if2、通配符替换内容(常见于邮件、短信等模版)3、spring获取bean对象4、动态获取nacos配置5、优雅校验请求入参 1、多判断代替if 针对多个是和否的问题&#xff0…

如何安装和卸载SFP光模块

SFP光模块的安装和拆卸是简单直接的过程。然而,任何非标准操作都可能导致隐式损坏甚至永久故障。您需要参考及时更新的光模块的数据表或用户手册,以熟悉其特性和锁定机制。 准备工作 常见事项 拆卸和插入SFP光模块可能会缩短其使用寿命,因…

搜索二维矩阵

题目链接 搜索二维矩阵 题目描述 注意点 每行中的整数从左到右按非严格递增顺序排列每行的第一个整数大于前一行的最后一个整数1 < matrix.length, matrix[0].length < 100 解答思路 先二分查找找到target所处的行&#xff0c;找到行后再二分查找找到target所处的列…

Java毕业设计-基于springboot开发的数码论坛系统设计与实现-毕业论文+答辩PPT(附源代码+演示视频)

文章目录 前言一、毕设成果演示&#xff08;源代码在文末&#xff09;二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构 三、系统实现展示1、系统功能模块2、管理员功能模块3、用户后台管理模块 四、毕设内容和源代码获取总结 **Java毕业设计-基于springboot开发的数码论…

计算平均分 javascript

养成好习惯&#xff1a;先写注释再写代码 基础版&#xff1a;直接写逻辑&#xff08;平均分总和/个数&#xff09; // 求平均分 var scores [60, 55, 80, 33, 75, 100]; // 求和,相除 var sum 0; var avg;for (var i 0; i < 6; i) {sum scores[i]; }avg sum / 6; con…

Android Studio 编译报错 ( Could not find com.android.tools.build:gradle:4.2.1.)

检查下根目录下的 build.gradle 配置 , 是否只配置了 jcenter 仓库 &#xff0c;加上 google()mavenCentral() 重新编译试一下

Mybatis 的知识学习

准备&#xff1a; maven&#xff1a;https://mvnrepository.com/ mybatis: MyBatis中文网 1.mybatis的定义 MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBati…

CTF入门学习籽料(非常详细)零基础入门到精通,收藏这一篇就够了!(文末自取)

前言&#xff1a; 从2019年10月开始接触CTF&#xff0c;学习了sql注入、文件包含等web知识点&#xff0c;但都是只知道知识点却实用不上&#xff0c;后来在刷CTF题才发现知识点的使用方法&#xff0c;知道在哪里使用&#xff0c;哪里容易出漏洞&#xff0c;可是在挖src漏洞中还…

TRM推出1年后,都给客户带来了哪些改变?

就在一年前&#xff0c;用友大易推出了ATSTRM全新人才配置平台&#xff0c;成为国内首家将TRM&#xff08;人才关系管理&#xff09;理念融入ATS&#xff08;招聘管理系统&#xff09;的企业服务厂商。 谈及TRM这一理念的出炉&#xff0c;用友网络副总裁、用友大易联合创始人石…

【云呐】办公资产盘点报告总结怎么写

办公资产盘点报告总结应该清晰、简洁地总结盘点过程、结果和相关问题。以下是一种写作办公资产盘点报告总结的常见结构和要点&#xff1a;  盘点目的&#xff1a;简要说明盘点的目的和背景&#xff0c;例如为了确保资产的准确性、管理资产风险或制定更好的资产管理策略等。 …

面向对象的三大特性-----封装、继承、多态(Java篇)

&#x1f341; 个人主页&#xff1a;爱编程的Tom&#x1f4ab; 本篇博文收录专栏&#xff1a;Java专栏&#x1f449; 目前其它专栏&#xff1a;c系列小游戏 c语言系列--万物的开始_ &#x1f389; 欢迎 &#x1f44d;点赞✍评论⭐收藏&#x1f496;三连支持一…