背景

这个功能是在工作时,上级有个需求是让我将json文件中指定字段的英文翻译成中文,并且指定要使用谷歌翻译,理由是翻译的结果可能会比较准确。

过程

因为之前写过用python实现有道翻译,是在ajax中找到它的翻译接口的,所以我以为谷歌应该也差不多,于是我就打开 “开发者工具”,拼命地寻找它的翻译接口,果然让我发现了,哈哈哈哈~~

然而我发现我高兴地太早了,这TMD是个啥东西,为啥不是json啊,崩溃!!!

算了,你牛,我放弃~

于是我就面向度娘,寻求帮助,搜索关键词 “python实现谷歌翻译”,哦吼~ 结果还挺多

哈哈又草率了(欲哭无泪),随缘选中一个后,大致看了一下(好复杂555~),它们的思路大致是用PyExecJS库模拟js代码获取结果,我才不管这些,能用就行,然后一顿ctrl c/ctrl v 代码到本地后,修改一些数据,开始运行。

接下来就一顿报错,我就一顿卧槽。好的,没安装库…安装不成功,和一些莫名的其他原因。这能忍?于是我决定自己动手,丰衣足食,大不了就爬网页嘛,然后打开网页源代码,MD又草率了,并没有需要的内容,忘记结果是用js生成的,唉,怎么办?只好从最开始的那个ajax的接口下手了


内容里有很多重复的内容并且感觉毫无规则…我硬着头皮尝试用正则把内容提取出来,代码我就不贴,因为…

我花了好长好长时间,疯狂改正则表达式…啊哈!的确可以得出结果,超开心的~ 但是后面翻译的过程发现,这只适合翻译一句话,多一点都不行,它会漏掉…头又炸了!!!

我又放弃了,已经束手无策了…第二天,看到一篇文章,里面写的是 “ 字符串转为列表”的知识点,然后我灵光一现,想到了用正则和列表相结合,将内容提取出来,于是我看到了奥特曼(光)哈哈哈,这次真的可以!!!!不说了上代码

代码


import requests
import json
import re
import time
import pandas as pddef googleTranslate(text):url = 'https://translate.google.cn/_/TranslateWebserverUi/data/batchexecute?rpcids=MkEWBc&f.sid=-2984828793698248690&bl=boq_translate-webserver_20201221.17_p0&hl=zh-CN&soc-app=1&soc-platform=1&soc-device=1&_reqid=5445720&rt=c'headers = {'origin': 'https://translate.google.cn','referer': 'https://translate.google.cn/','sec-fetch-dest': 'empty','sec-fetch-mode': 'cors','sec-fetch-site': 'same-origin','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36','x-client-data': 'CIW2yQEIpbbJAQjEtskBCKmdygEIrMfKAQj2x8oBCPfHygEItMvKAQihz8oBCNzVygEIi5nLAQjBnMsB','Decoded':'message ClientVariations {repeated int32 variation_id = [3300101, 3300133, 3300164, 3313321, 3318700, 3318774, 3318775, 3319220, 3319713, 3320540, 3329163, 3329601];}','x-same-domain': '1'}  data = {'f.req': f'[[["MkEWBc","[[\\"{text}\\",\\"auto\\",\\"zh-CN\\",true],[null]]",null,"generic"]]]'}  res = requests.post(url, headers=headers, data=data).textpattern = '\)\]\}\'\s*\d{3,4}\s*\[(.*)\s*' part1 = re.findall(pattern, res)part1_list = json.loads('['+part1[0])[0]if part1_list[2] is None:  print(text)return textcontent1 = part1_list[2].replace('\n', '')part2_list = json.loads(content1)[1][0][0][5:][0]s = ''for i in part2_list:  s += i[0]# s += i[1][1] print(s)return stext = 'wherein, if the grouping based on the ambient signal data is repeated due to error identification such that more than k groups are produced, the number of groups is then reduced back to k, or lower, in the grouping based on the height data.'
print(text)
googleTranslate(text)

效果

效果如何?

如何翻译成其他语言?

当然,这仅仅是实现了任何语言转为中文,要转为别的语言,你可以通过执行js,获取所有语言对应的英文字母,以字典的形式存储,最后保存为json文件

然后执行程序时,动态地输入翻译后的语言,去json文件中获取对应的英文代表,然后替换data中的"zh-CN"即可。比如我想翻译成日语,我就将“zh-CN”替换成 “ja”,这样,翻译出来的结果就是日语了

修改data数据

翻译结果


好了,今天的分享就到这了,2021年第一篇文章,给自己点个赞,奥里给~

python实现谷歌翻译相关推荐

  1. python翻译程序-Python:谷歌翻译20次的程序如何实现?

    Python:谷歌翻译20次的程序如何实现? 作者:橙汁 [梗的解释] " 谷歌翻译20次"就是多次利用谷歌翻译(Google Translate)将原本正常的名场面对话翻译成语言 ...

  2. Python 调用谷歌翻译(2021年3月测试可用)

    前言 把之前的用来谷歌翻译的Python文件整理了下, 用来处理翻译下i18n.js所需要的字典, 直接调用即可.2021年3月测试可用 (¦3[▓▓] 2021年9月17日 测试失效 请查看: Py ...

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

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

  4. python调用谷歌翻译__201907

    2019年7月4日15:53:17(¦3[▓▓] 晚安 谷歌翻译环境 Python 3.6 第三方库 Execjs (pip install PyExecJS) 文件列表 同目录下的四个文件:- to ...

  5. Python实现谷歌翻译爬虫,翻译PDF,翻译Excel,支持excel文档打开翻译,支持xlsx,xlsm等格式。

    前言: 这两个Python脚本是我在实习期间完成的,具体来自于小组主管的两个小需求.做完之后感觉还是挺有收获的. 实现谷歌翻译,首先需要将我们写的Python脚本还有需要翻译的文件放到谷歌浏览器的安装 ...

  6. 转:利用python调用谷歌翻译API

    废话少说 从速卖通抓取了一些评论想进行一些简单的文本分析,但是因为速卖通是一个跨境电商平台,上边的评论基本都是小语种,对,小语种,俄语,法语...英语还可以勉强应付一下,但是其他真的是一个字母都不认识 ...

  7. python使用谷歌翻译google_translator失效或者报错

    要是用这个google_trans_new才能翻译 这个的原理是抓取了谷歌翻译网站 本质还是一样的感觉 但是这个在返回数据解析的时候拼接的数据是有问题的 https://github.com/lush ...

  8. python使用谷歌翻译

    俺写脚本向来喜欢直接copy然后修改,看网上使用谷歌翻译API还要自己去破解的,这不是直接造轮子么.所以我选择安装googletrans 模块.直接 pip install googletrans 就 ...

  9. python调用谷歌翻译Googletrans接口

    1. 使用场景 快速翻译一些爬取的英文文章或段落 2. pip install pip install googletrans 3. 调用 3.1 英译汉 from googletrans impor ...

  10. Python调用谷歌翻译接口

    安装 翻译 语法识别 语种缩略表示 官方文档 安装 pip install googletrans 翻译 from googletrans import Translator translator = ...

最新文章

  1. mongodb内置角色
  2. layui select下拉框改变之 change 监听事件
  3. OpenCV在图像上添加边框borders
  4. 基于hi-nginx的web开发(python篇)——utf-8编码
  5. windows server 2003中 如何限制用户修改计算机名,Windows命令行下修改文件访问控制权限 -电脑资料...
  6. 【云栖计算之旅】线下沙龙第2期精彩预告:Docker在云平台上的最佳实践
  7. 程序员加班很严重吗?看看国外程序员怎么怼老板!
  8. Kafka常见痛点及优化方案
  9. 机器人门禁控制盒怎么接线方法_RFID门禁系统原理、初始密码、密码修改方法...
  10. SpringBoot WEB 核心原理
  11. java连接数据库增删改查公共方法
  12. edi系统三要素_从EDI的定义可以看出,通信网络、EDI软件及硬件、EDI数据标准化是构成EDI系统的三要素其...
  13. 2014Esri全球用户大会——亮点系列之精彩应用案例
  14. Tensorflow2.0使用CNN和爬虫做新闻分类
  15. dna数据u盘_DNA数据库黑客时代来临
  16. C# 中 volatile 关键字的解读
  17. mysql中计算百分比
  18. 9.28javaweb
  19. idead文件折叠问题终极解决办法
  20. Web端CAD图形找不同?一键在Web端找出CAD图不同并对比分析

热门文章

  1. Ring3加载驱动源码
  2. java scjp考试_Java开发网 - 【经验】今天以96通过SCJP考试(含考试经验和部分真题)[转帖]...
  3. 1.1 ubuntu环境下搭建gd32vf103
  4. LCD1602显示程序理解
  5. 小程序实现扫描二维码带着参数跳转到另外一个页面,实现对mysql数据库访问,并通过表格形式实现
  6. elastic-job和xxl-job实践对比
  7. Web前端性能优化优秀文章集锦
  8. C语言 Linux版俄罗斯方块,C语言版俄罗斯方块源代码
  9. 前端基础练习项目——网页版扫雷
  10. PDF虚拟打印机是如何打印文件的