# -*- coding: UTF-8 -*-
import requests
import json
from fake_useragent import UserAgent
# from bs4 import BeautifulSoup
import execjs #必须,需要先用pip 安装,用来执行js脚本
class 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)
def buildUrl(text,tk):baseUrl='https://translate.google.cn/translate_a/single'baseUrl+='?client=t&'baseUrl+='s1=auto&'baseUrl+='t1=zh-CN&'baseUrl+='h1=zh-CN&'baseUrl+='dt=at&'baseUrl+='dt=bd&'baseUrl+='dt=ex&'baseUrl+='dt=ld&'baseUrl+='dt=md&'baseUrl+='dt=qca&'baseUrl+='dt=rw&'baseUrl+='dt=rm&'baseUrl+='dt=ss&'baseUrl+='dt=t&'baseUrl+='ie=UTF-8&'baseUrl+='oe=UTF-8&'baseUrl+='otf=1&'baseUrl+='pc=1&'baseUrl+='ssel=0&'baseUrl+='tsel=0&'baseUrl+='kc=2&'baseUrl+='tk='+str(tk)+'&'baseUrl+='q='+textreturn baseUrl
def translate(text):js = Py4Js()header={'authority':'translate.google.cn','method':'GET','path':'','scheme':'https','accept':'*/*','accept-encoding':'gzip, deflate, br','accept-language':'zh-CN,zh;q=0.9','cookie':'','user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64)  AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36',
'x-client-data':'CIa2yQEIpbbJAQjBtskBCPqcygEIqZ3KAQioo8oBGJGjygE='}url=buildUrl(text,js.getTk(text))res=''try:# headers = {"User-agent": UserAgent().random}# ip = "185.22.172.94:10010"# proxies = {"http": ip, "https": ip}# r = requests.get(url, headers=headers, proxies=proxies)r=requests.get(url)result=json.loads(r.text)if result[7]!=None:# 如果我们文本输错,提示你是不是要找xxx的话,那么重新把xxx正确的翻译之后返回try:correctText=result[7][0].replace('<b><i>',' ').replace('</i></b>','')# print(correctText)correctUrl=buildUrl(correctText,js.getTk(correctText))correctR=requests.get(correctUrl)newResult=json.loads(correctR.text)res=newResult[0][0][0]except Exception as e:# print(e)res=result[0][0][0]else:res=result[0][0][0]except Exception as e:res=''print(url)print("翻译"+text+"失败")print("错误信息:")print(e)finally:return res
if __name__ == '__main__':js=Py4Js()text = "新北市十二年國民基本教育資訊網"res=translate(text)print(res)

python 调用谷歌翻译相关推荐

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

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

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

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

  3. python调用谷歌翻译__201907

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

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

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

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

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

  6. Python调用谷歌翻译接口

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

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

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

  8. Python3 调用谷歌翻译 英汉互译

    Python3 调用谷歌翻译 将英文翻译成中文 代码如下: import urllib.request import execjsclass Py4Js():def __init__(self):se ...

  9. php调用谷歌翻译,PHP调用谷歌翻译 | 学步园

    /* * PHP调用谷歌翻译 * author:cc * date:2012/5/4 */ function translate($text,$language='zh-cn|en'){ if(emp ...

最新文章

  1. javascript小实例,多种方法实现数组去重问题
  2. 一、Windows Server 2016 AD服务器搭建
  3. no.4 数据和C 07
  4. Linux设备模型组件-类设备-设备类及subsystem
  5. find : 路径必须在表达式之前
  6. JAVA复习(date)
  7. Android之WebView网页滚动截图
  8. 推荐20款基于 jQuery CSS 的文本效果插件
  9. mysql5.7.18压缩包下载_MySQL5.6.30 升级到MySQL5.7.18
  10. Eclipse主题插件:Eclipse Color Theme
  11. [文摘20080226]领导法则 - 陈安之
  12. [渝粤教育] 中央财经大学 保险学概论 参考 资料
  13. 概念:蓝筹主板创业板新三板科创板
  14. python信号端点检测_语音信号端点检测
  15. 安装宝塔面板后原ssh连接失败问题及解决
  16. 利用R语言进行线性/非线性回归拟合实例(1)
  17. Java基础笔记(个人总结)
  18. 使用计算机配置路由器,用命令配置路由器基础(
  19. 爱莎天河学校体验课,探索多元文化融合的IB课程
  20. 百度鹰眼android开发,百度鹰眼Android SDK 运行配置

热门文章

  1. 服务端监控架构设计与实践
  2. Win10系统回收站损坏如何修复?
  3. 基于web的个人理财管理系统的设计与实现
  4. bert 是单标签还是多标签 的分类_搞定NLP领域的“变形金刚”!教你用BERT进行多标签文本分类...
  5. 软考网络工程师学习笔记day04
  6. 用C#写的一个类似网吧游戏菜单的软件
  7. 迅闪三层下载游戏无速度
  8. python编码终极版
  9. microsoft 文件服务器迁移工具包,使用FSMT工具迁移文件服务器
  10. chatgpt 18美元试用