先安装    execjs

pip install execjs


根据要翻译的字符串计算google翻译接口的tk值

HandleJs.py:

import execjsclass Py4Js():def __init__(self):self.ctx = execjs.compile("""function TL(a) {var k = "";var b = 406644;var b1 = 3293161072;var jd = ".";var $b = "+-a^+6";var Zb = "+-3^+b+-f";for (var e = [], f = 0, g = 0; g < a.length; g++) {var m = a.charCodeAt(g);128 > m ? e[f++] = m : (2048 > m ? e[f++] = m >> 6 | 192 : (55296 == (m & 64512) && g + 1 < a.length && 56320 == (a.charCodeAt(g + 1) & 64512) ? (m = 65536 + ((m & 1023) << 10) + (a.charCodeAt(++g) & 1023),e[f++] = m >> 18 | 240,e[f++] = m >> 12 & 63 | 128) : e[f++] = m >> 12 | 224,e[f++] = m >> 6 & 63 | 128),e[f++] = m & 63 | 128)}a = b;for (f = 0; f < e.length; f++) a += e[f],a = RL(a, $b);a = RL(a, Zb);a ^= b1 || 0;0 > a && (a = (a & 2147483647) + 2147483648);a %= 1E6;return a.toString() + jd + (a ^ b)};function RL(a, b) {var t = "a";var Yb = "+";for (var c = 0; c < b.length - 2; c += 3) {var d = b.charAt(c + 2),d = d >= t ? d.charCodeAt(0) - 87 : Number(d),d = b.charAt(c + 1) == Yb ? a >>> d: a << d;a = b.charAt(c) == Yb ? a + d & 4294967295 : a ^ d}return a}""")def getTk(self, text):return self.ctx.call("TL", text)

google.py:

import urllib.request
from HandleJs import Py4Jsdef open_url(url):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}req = urllib.request.Request(url=url, headers=headers)response = urllib.request.urlopen(req)data = response.read().decode('utf-8')return datadef translate(content, tk):if len(content) > 4891:print("翻译的长度超过限制!!!")returncontent = urllib.parse.quote(content)# 英转日url = "https://translate.google.cn/translate_a/single?client=webapp&sl=en&tl=ja&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&source=bh&ssel=0&tsel=0&kc=1&tk=%s&q=%s" % (tk, content)# 英转西班牙# url ='https://translate.google.cn/translate_a/single?client=webapp&sl=en&tl=es&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&dt=gt&source=bh&ssel=0&tsel=0&kc=1&tk=%s&q=%s' % (tk, content)# 英转葡萄牙# url = 'https://translate.google.cn/translate_a/single?client=webapp&sl=en&tl=pt&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&dt=gt&source=bh&ssel=0&tsel=0&kc=1&tk=%s&q=%s'% (tk, content)# 英转韩语# url = 'https://translate.google.cn/translate_a/single?client=webapp&sl=en&tl=ko&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&source=bh&ssel=0&tsel=0&kc=1&tk=%s&q=%s' % (#     tk, content)result = open_url(url)end = result.find("\",")if end > 4:# print(result[4:end])return result[4:end]def Ryuan():'''从文件中读取要翻译的内容,文件名:yuan'''with open('yuan', 'r')as f:for i in f:yield idef main():js = Py4Js()with open('ja', 'w', encoding='utf-8')as f:for i in Ryuan():tk = js.getTk(i) # 计算翻译字符串对应的tk值t = translate(i, tk) # 翻译结果f.write('msgid "%s"\n' % i.strip()) # 将翻译的原字符串写入文件jaf.write('msgstr "%s"\n\n' % t.strip()) #将翻译结果写入文件ja# while 1:#     content = input("输入待翻译内容:")##     if content == 'q!':#         break##     tk = js.getTk(content)#     translate(content, tk)if __name__ == "__main__":main()

首先将要批量翻译的内容写在文件a里,每段单独一行,不要换行,编码保存成utf-8,google.py里的Ryuan()方法读的文件名改成保存的文件名a,google翻译api里的sl参数是原语言的语言代码,tl是翻译结果对应的语言代码。

Google 批量翻译 脚本相关推荐

  1. python 文本翻译 项目_如何用python批量翻译文本?

    首先,看一下百度翻译的官方api文档. http://api.fanyi.baidu.com/api/trans/product/apidoc # coding=utf-8 #authority:bi ...

  2. python调用谷歌翻译英文文献pdf_Python 调用 Google Translate API 批量翻译文章

    有时候批量翻译中文文章,批量变成各个小语种的语言,手动的粘贴复制是非常慢的.需要调用翻译 API 接口,综合对比市面上的各个翻译 API,个人觉得 Google 的翻译 API 最为好用和准确. 下面 ...

  3. pdf 批量翻译-批量翻译照片

    实现英语批量翻译通常需要使用机器翻译技术和程序编程知识. 下面是一些主要步骤: 选择机器翻译API:选择一种适合你的需求的机器翻译API,比如Google Translate API.Microsof ...

  4. 批量翻译英语关键词到其它小语种

    方法一,使用Selenium模拟Google翻译自动翻译关键词 1.使用selenium模拟打开Google翻译 from selenium import webdriver import timed ...

  5. python调用api接口获取数据_python批量爬取NCBI基因注释并调用谷歌API批量翻译

    作者:沙雕学习小组 这里有视频教程:https://www.bilibili.com/video/av87724182 今天想实现这个功能: 差异分析得到了200多个基因(甚至更多) 我要一个一个把基 ...

  6. BBScan:信息泄漏批量扫描脚本

    有些朋友手上有几十万甚至上百万个域名,如果把这些域名全部扔给wvs. APPscan这样的重型扫描器,显然是不太合适的. 对于一个拥有上万IP的企业,又如何快速定位可能存在弱点的机器呢? 试试信息泄漏 ...

  7. excel批量翻译-excel怎么批量翻译

    excel批量翻译,什么样的翻译文章的软件才能称为好的翻译软件?首先第一点翻译质量高,第二点可以批量翻译,第三点保留翻译前的格式.第四点支持采集翻译.今天我给大家分享一款免费全国各地语言翻译的软件,支 ...

  8. 英译汉文章在线翻译器:批量翻译、素材收集、图片处理

    英译汉文章在线翻译器让我们可以在线进行英汉文章翻译互译,英译汉文章在线翻译器对接Google翻译.有道翻译和Baidu翻译等多个翻译大厂api接口,覆盖绝大多数的语种间的翻译和语种切换. 英译汉文章在 ...

  9. excel 批量翻译-excel 批量函数公司翻译大全免费

    excel 批量翻译,我们经常会需要Excel文档内容进行批量翻译,大多数人只会把内容复制粘贴到百度/谷歌或有道翻译,少数同学会输入公式翻译但是翻译出来的内容质量不是特别好,且中途还要去写函数代码.今 ...

最新文章

  1. c 使用腾讯云mysql_腾讯云使用笔记一: 环境搭建
  2. leetcode算法题--可以形成最大正方形的矩形数目
  3. websocket之二:WebSocket编程入门
  4. 人脸识别撞脸名画_与名画“撞脸”火爆数博会 观众直呼“太好玩”【高清组图】...
  5. 对外汉语语料库有哪些_国内语料库建设一览表
  6. Summary Day30
  7. spring源码分析第四天------springmvc核心原理及源码分析
  8. 创立三年,广受好评:如何评价 ApacheCN ?
  9. Deformable ConvNets自己的理解
  10. 华为交换机STP的配置实例
  11. [猫扑贴贴论坛]2010暴强年终总结篇:有种美叫凤姐,有种帅哥叫犀利哥
  12. html 倒计时小工具
  13. 分布式电商项目——10.商品搜索 springboot 集成ES+kibana+logstash+Ik分词器+Ik拼音分词器
  14. 模式识别技术是人工智能的基础技术,模式识别技术的发展潜力
  15. 网吧管理员技术资料-转的
  16. java如何添加同名的xml节点_java – 解组具有多个同名元素的XML JAXB
  17. 找出数组x中的最大值和该值所在的元素下标,数组元素从键盘输入。
  18. 逆势获投1亿,火眼金睛下的云适配BRaaS新模式引关注
  19. 知识图谱嵌入(KGE)主流模型简介
  20. 2021-2026年中国数字化转型市场预测:通过应用场景践行数字化优先策略

热门文章

  1. 【Aviator】(一)初识 表达式引擎
  2. 电商数据结构之订单模块(订单模块的数据结构设计)
  3. 时间序列分析:ts/mts基础数据类型
  4. 所长不会用计算机,行测答题技巧:背口诀
  5. 0基础学习VR全景平台篇 第58篇:高级功能-AI人像合成
  6. 抽基类+MVP+Retrofit+Rxjava+适配器+Recyclerview展示数据
  7. Charles抓包http/https(win10+IOS)
  8. 墨画子卿第二章第9节:小悠
  9. 如何打造爆款/提升产品力?思路在这里!
  10. Python 乱码问题解决办法