python 调用谷歌翻译
# -*- 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 调用谷歌翻译相关推荐
- Python 调用谷歌翻译(2021年3月测试可用)
前言 把之前的用来谷歌翻译的Python文件整理了下, 用来处理翻译下i18n.js所需要的字典, 直接调用即可.2021年3月测试可用 (¦3[▓▓] 2021年9月17日 测试失效 请查看: Py ...
- python调用谷歌翻译英文文献pdf_Python 调用 Google Translate API 批量翻译文章
有时候批量翻译中文文章,批量变成各个小语种的语言,手动的粘贴复制是非常慢的.需要调用翻译 API 接口,综合对比市面上的各个翻译 API,个人觉得 Google 的翻译 API 最为好用和准确. 下面 ...
- python调用谷歌翻译__201907
2019年7月4日15:53:17(¦3[▓▓] 晚安 谷歌翻译环境 Python 3.6 第三方库 Execjs (pip install PyExecJS) 文件列表 同目录下的四个文件:- to ...
- 转:利用python调用谷歌翻译API
废话少说 从速卖通抓取了一些评论想进行一些简单的文本分析,但是因为速卖通是一个跨境电商平台,上边的评论基本都是小语种,对,小语种,俄语,法语...英语还可以勉强应付一下,但是其他真的是一个字母都不认识 ...
- python调用谷歌翻译Googletrans接口
1. 使用场景 快速翻译一些爬取的英文文章或段落 2. pip install pip install googletrans 3. 调用 3.1 英译汉 from googletrans impor ...
- Python调用谷歌翻译接口
安装 翻译 语法识别 语种缩略表示 官方文档 安装 pip install googletrans 翻译 from googletrans import Translator translator = ...
- python翻译程序-Python:谷歌翻译20次的程序如何实现?
Python:谷歌翻译20次的程序如何实现? 作者:橙汁 [梗的解释] " 谷歌翻译20次"就是多次利用谷歌翻译(Google Translate)将原本正常的名场面对话翻译成语言 ...
- Python3 调用谷歌翻译 英汉互译
Python3 调用谷歌翻译 将英文翻译成中文 代码如下: import urllib.request import execjsclass Py4Js():def __init__(self):se ...
- php调用谷歌翻译,PHP调用谷歌翻译 | 学步园
/* * PHP调用谷歌翻译 * author:cc * date:2012/5/4 */ function translate($text,$language='zh-cn|en'){ if(emp ...
最新文章
- javascript小实例,多种方法实现数组去重问题
- 一、Windows Server 2016 AD服务器搭建
- no.4 数据和C 07
- Linux设备模型组件-类设备-设备类及subsystem
- find : 路径必须在表达式之前
- JAVA复习(date)
- Android之WebView网页滚动截图
- 推荐20款基于 jQuery CSS 的文本效果插件
- mysql5.7.18压缩包下载_MySQL5.6.30 升级到MySQL5.7.18
- Eclipse主题插件:Eclipse Color Theme
- [文摘20080226]领导法则 - 陈安之
- [渝粤教育] 中央财经大学 保险学概论 参考 资料
- 概念:蓝筹主板创业板新三板科创板
- python信号端点检测_语音信号端点检测
- 安装宝塔面板后原ssh连接失败问题及解决
- 利用R语言进行线性/非线性回归拟合实例(1)
- Java基础笔记(个人总结)
- 使用计算机配置路由器,用命令配置路由器基础(
- 爱莎天河学校体验课,探索多元文化融合的IB课程
- 百度鹰眼android开发,百度鹰眼Android SDK 运行配置