手把手教你用Python调用彩云机器翻译API

一、引言

彩云这个小而美的机器翻译一直很低调,它让人眼前一亮的是之前我们分享的网页翻译插件,可以把外文网站翻译成英中对照的样式,便于我们学习。之前我们也写过文章介绍过:

PythonFan:如何用Google翻译英文网页成双语对照样式6 赞同 · 5 评论文章正在上传…重新上传取消

有时我们要它翻译内容较多的文件,可以通过Python来调用它的机器翻译API,突破网页版5000字符的限制。 下面我们来介绍一下如何调用其API。

二、实现过程

第一步,我们要进入到彩云科技的主页,如果是第一次登录,就要先注册这个网站,然后再点击顶部的【在线翻译】。

在线翻译

第二步,再点击页面顶部的【翻译API】。

第三点,点击右侧的【Python调用】栏目。

Python调用

第四步,点击代码框右上解的复制按钮,复制Python的demo代码至thonny或者PyCharm等其它IDLE工具中备用。

样例代码

第五步,点击右侧【申请访问令牌】,点击【彩云科技开放平台】进入到开放平台,进行账号申请,同时可以申请彩云小译的API令牌。

第六步,进入到彩云科技开放平台,点击注册,注册账号。

注册小牛科技开放平台

第七步,点击【创建令牌】,填写应用的名称,创建令牌。

第八步,点击【令牌】下面一串字母形成的超级链接,进入到令牌令牌页面,然后可以复制令牌(就是那一串数字和字母组成的字符串),放到Python代码中的token变量的右边。

第九步,我们加入token,把整个代码放到IDLE中,或者thonny中进行调试代码。官方的代码如下:

官方代码

为了让代码可以翻译字符串,我们把原代码进行了修改。"Source"那里改为字符串, 'content-type'那里json改为txt,最后把译文直接打印出来。

import requests
import json
 
url = "http://api.interpreter.caiyunai.com/v1/translator"
token = "你的令牌" #这里填写你自己的令牌
 
payload = {
        #"source" : ["Where there is a will, there is a way.", 
                     #"ColorfulClouds Weather is the best weather service."],
        "source" : "Where there is a will, there is a way.",
        "trans_type" : "en2zh",
        "request_id" : "demo",
        }
 
headers = {
        'content-type': "application/txt",
        'x-authorization': "token " + token,
}
 
response = requests.request("POST", url, data=json.dumps(payload), headers=headers)
 
#print(response.text)
resp = json.loads(response.text)['target']

print(resp)

三、代码优化

为了更好地调用这个代码,我进一步把以上代码中的翻译功能整合成为一个函数,这样嵌入到其它的程序中会更方便,也比较符合Python程序类的写法。

以下是我把彩云小译的Python代码移植到TransExcel中,可以批量把Excel文件中的A列翻译成B列,并保存。

注意当前目录下我们需要建一个config.txt里面写上【zh|en】或者【en|zh】这是为了便于控制语言翻译的方向。

import openpyxl
import os,json

url = "http://api.interpreter.caiyunai.com/v1/translator"
token = "ayvp8cntxz5e88encfi5"
workbooks=[wb for wb in os.listdir(os.getcwd()) if wb.endswith('.xlsx')]

def lang():
    with open("config.txt","r",encoding="utf-8") as f:
        line=f.readlines()
        from_lang,to_lang=line[0].strip().split("|")
    return from_lang,to_lang

def caiyun_api(content,from_lang,to_lang):
    payload = {
            "source" : content,
            "trans_type" : from_lang+str(2)+to_lang,
            "request_id" : "demo",
            }
     
    headers = {
            'content-type': "application/txt",
            'x-authorization': "token " + token,
    }
     
    response = requests.request("POST", url, data=json.dumps(payload), headers=headers)
    resp = json.loads(response.text)['target']
    return resp

def get_lst():
    from_lang,to_lang=lang()
    for workbook in workbooks:
        wb=openpyxl.load_workbook(workbook)
        ws=wb.active
        for cell0,cell1 in zip(ws['A'],ws['B']):
            if cell0.value!="":
                try:
                    cell1.value=caiyun_api(cell0.value,from_lang,to_lang)
                except Exception as exc:
                    print(exc)
        wb.save(workbook)
get_lst()

四、学后反思

  1. 彩云翻译还是比较良心,每个月送100万的免费翻译字符,而且翻译速度和翻译质量都还不错。
  2. 用Python调用API可以把Python的优势与API的功能相结合,实现多类型文件翻译和批量翻译,在不要求文本格式的情况,优化我们的翻译流程。
  3. 彩云小译免费额度用完后,额外购买是20元/100万字符,价格上还算优惠,也是比较良心。只是目前来看,采云小译的推广力度不够,很多人还不知道这款好用的翻译引擎。

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

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

相关文章

PyTorch RNN的原理及其手写复现。

PyTorch RNN的原理及其手写复现。 0、前言代码实现记忆单元(考虑过去的信息)分类包括:1.RNN 2.GRU 3.LSTM模型类别:1.单向循环(左到右) 2.双向循环(考虑未来信息) 3.多层单向或双向循环优缺点应用场景具体公式 0、前言 先给出代码…

单位、家庭建筑物电气、电子设备防雷举措

前 言 在现实的学习、工作、生活中,有时会面对自然灾害、重特大事故、环境公害及人为破坏等突发事件,为了控制事故的发展,就不得不需要事先制定应急预案。那要怎么制定科学的应急预案呢﹖下面是小编为大家整理的单位、住宅建筑物、电子电气防…

如何搭建一个高效、可靠的积分商城系统?

互联网购物的普及,积分商城系统已经成为商家和消费者之间互动的一种常见方式。它不仅可以帮助商家增加品牌影响力,还可以提高顾客体验,从而增加销售额。下面就如何搭建一个高效、可靠的积分商城系统作一些简单介绍。 第一步:确定需…

DHTMLX Suite JS PRO 8.1.1 Crack

适用于现代 Web 应用程序的强大 JavaScript 小部件库 - DHTMLX 套件 用于创建现代用户界面的轻量级、快速且通用的 JavaScript/HTML5 UI 小部件库。 DHTMLX Suite 有助于推进 Web 开发和构建具有丰富功能的数据密集型应用程序。 DHTMLX Suite 是一个 UI 小部件库,用…

Spring Boot中使用Spring Batch处理批量任务

Spring Boot中使用Spring Batch处理批量任务 Spring Batch是Spring框架的一个模块,它提供了一组API和工具,用于处理批量任务。在本文中,我们将会介绍如何在Spring Boot中使用Spring Batch来处理批量任务。我们将会使用一个简单的示例来说明如…

Install Prometheus Monitoring On Kubernetes Cluster

目录 Node & Software & Docker Images Lists ​Prometheus introduction Download Kubernetes Prometheus Manifest Files Install Prometheus Monitoring Kubernetes Create a Namespace Create a Cluster Role And Binding It Create a Config Map Create…

二、CNNs网络架构-卷积分离网络架构

《A review of convolutional neural network architectures and their optimizations》论文指出AlexNet的优异性能证明了可以通过增加网络深度提高网络性能。随着网络层数的不断增加,不断增加的计算负担和不显著的性能提升使得更先进的网络架构成为另一个主要的研究…

搭建监控日志系统

在微服务或者集群架构中,一次请求的调用会跨多个服务(web,mysql,feign等)、多个模块(用户模块,商品模块等)、多个容器(用户模块可能有多个实例),这…

Linux命令(21)之usermod

Linux命令之usermod 1.usermod介绍 usermod命令用来更改/etc/passwd或/etc/shadow文件下用户属性,包括但不限于shell类型、用户id,用户gid、家目录、锁定及解锁用户等等。 2.usermod用法 usermod [参数] [用户名] usermod常用参数 参数说明-u修改UID…

Restful接口开发与测试—接口测试

开发完接口,接下来我们需要对我们开发的接口进行测试。接口测试的方法比较多,使用接口工具或者Python来测试都可以,工具方面比如之前我们学习过的Postman或者Jmeter ,Python脚本测试可以使用Requests unittest来测试。 测试思路…

四维轻云平台常见问题及解决方法

1、在地图中看不见加载的点云或倾斜摄影模型数据? 若点云或模型数据加载后,在地图中看不见,可能是地形的高度高于倾斜模型的高度,导致数据漂浮在空中或者在地形以下,可通过增加数据的移动值Y来调整点云或者模型数据的…

支付宝SDK接口调试- cpolar内网穿透工具实现公网地址调试(1)

文章目录 1.测试环境2.本地配置3. 内网穿透3.1 下载安装cpolar内网穿透3.2 创建隧道 4. 测试公网访问5. 配置固定二级子域名5.1 保留一个二级子域名5.2 配置二级子域名 6. 使用固定二级子域名进行访问 转发自cpolar内网穿透的文章:Java支付宝沙箱环境支付&#xff0…

16款ChatGPT工具,太炸裂了,收藏!

1.ChatGPT for google 一个浏览器插件,可搭配现有的搜索引擎来使用。 最大化搜索效率,对搜索体验的提升相当离谱: 安装完插件后,在搜索引擎搜索任何问题,都能获取两份答案。 左边是谷歌抓取的全网资源,右…

chatgpt赋能python:简介:什么是PythonShapiro?

简介:什么是Python Shapiro? Python Shapiro是一种用来进行正态性检验的工具,也就是说,它可以帮助我们检验一个给定的数据集是否符合正态分布的要求。它是从R语言中的Shapiro-Wilk测试方法改编而来的。 如何使用Python Shapiro&…

ELK 企业级日志分析系统

---------------------- ELK 概述 ---------------------------------------- 1、ELK 简介 ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 ●…

1123 Is It a Complete AVL Tree (PAT甲级)

这道题是看了柳婼的解法才搞定的。开始想着把height和parent放到结构体中去&#xff0c;很繁琐最后还搞不定…… #include <cstdio> #include <algorithm> #include <vector>struct node{int key;node* left nullptr;node* right nullptr; };int N, t, pi…

一文打通File类

目录 基本概述 常用构造器 构造方法 路径分隔符 常用方法 File类的获取功能 File类的重命名功能 File类的判断功能 File类的创建功能 File类的删除功能 在 Java 中&#xff0c;File 类是 java.io 包中唯一代表磁盘文件本身的对象&#xff0c;也就是说&#xff0c;如果…

2023/5/21总结

因为之前高中学过一点点的html。虽然不是很多&#xff0c;但是有一点点基础&#xff0c;看了一些关于html的知识点&#xff0c;算是复习了&#xff0c;如果后面忘记打算再去查。 html是超文本标记语言&#xff0c;通常由<></>构成&#xff0c;当然也有单标记&…

Cisco Secure Web Appliance Virtual 15.0 发布 - 适用于网络安全的思科高级威胁防护

Cisco Secure Web Appliance Virtual, AsyncOS for WSA 15.0.0 LD 请访问原文链接&#xff1a;https://sysin.org/blog/cisco-secure-web-appliance-15/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org Cisco Secure Web Appli…

游资92科比到底牛在哪里?

昨天一天时间把92科比之前的一个帖子全部看完&#xff0c;从科比对情绪周期的把握来看那简直总结的已经是标准答案了&#xff0c;那么为何92科比公布了答案&#xff0c;还是有很多人“痛苦”的做不到&#xff1f; 这个问题我觉得跟退学炒股是一样的&#xff0c;退学先解决了小…