python3调用谷歌翻译_使用python3调用谷歌翻译成中文
因为服务器上是python2的,要用python3的
需要在windows上安装anaconda3.6版本的
安装完之后,打开prompt,即可使用命令行
这种命令行使用可以使用各种库了
创建main.py
import urllib.request
from HandleJs import Py4Js
def 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 data
def translate(content,tk):
if len(content) > 4891:
print("翻译的长度超过限制!!!")
return
content = urllib.parse.quote(content)
url = "http://translate.google.cn/translate_a/single?client=t"+ "&sl=en&tl=zh-CN&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca"+"&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&clearbtn=1&otf=1&pc=1"+"&srcrom=0&ssel=0&tsel=0&kc=2&tk=%s&q=%s"%(tk,content)
#返回值是一个多层嵌套列表的字符串形式,解析起来还相当费劲,写了几个正则,发现也很不理想,
#后来感觉,使用正则简直就是把简单的事情复杂化,这里直接切片就Ok了
result = open_url(url)
end = result.find("\",")
if end > 4:
print(result[4:end])
def main():
js = Py4Js()
while 1:
content = input("输入待翻译内容:")
if content == 'q!':
break
tk = js.getTk(content)
translate(content,tk)
if __name__ == "__main__":
main()创建HandleJs.py
import execjs
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)在prompt中运行
python main.py 即可将英文翻译成中文
python3调用谷歌翻译_使用python3调用谷歌翻译成中文相关推荐
- python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建
由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...
- python3.6字典有序_为什么Python3.6字典变得有序了?
原博文 2019-12-25 16:09 − 其实 在你看了笔者的文章之前,或许想过这样一个问题, 为什么列表是有顺序的呢?而字典不是? 来看一下在内存中是怎样存储的就知道了: 列表的存储是顺序存储, ...
- 中文乱码翻译器在线翻译_如何将芬兰语翻译成中文?这两种方法你得会
我们在工作中有时候也会接触得到一些特殊的任务.举个例子,如果哪天上级让我们翻译芬兰语,若是不会翻译就很尴尬了.该怎么办呢?如何将芬兰语翻译成中文呢?这里小编想要推荐给大家两个比较好用的方法,有需要的小 ...
- python爬取外文文献翻译_利用Python爬取翻译网站的翻译功能
现在我想分享一个利用Python技术,爬取一个翻译网站的翻译功能的小代码. 首先隆重介绍我们今天将要爬取的网站:http://fy.iciba.com/ 咱们用Python中的urllib模块的功能进 ...
- python3调用c代码_在Python3.6中调用C代码
由于完全不懂用C#编写代码,我希望在python代码中调用C#函数.我知道在同一个问题上有很多问题,但是由于一些奇怪的原因,我无法从一个示例python模块导入一个简单的c类库.在 以下是我所做的-C ...
- python调用谷歌地图_使用Python调用谷歌地图并记录运动轨迹进行可视化
本篇博文主要介绍了如何使用python来调用谷歌地图,并对北京的一个轨迹数据集进行可视化展示.该数据集包含在3年内收集的182个用户的GPS轨迹.我在这个演示中使用了用户001的数据. 博文会给出具体 ...
- python3人工智能网盘_《Python3入门人工智能掌握机器学习+深度学习提升实战能力》百度云网盘资源分享下载[MP4/5.77GB]...
内容简介 本资源为<Python3入门人工智能掌握机器学习+深度学习提升实战能力>百度云网盘资源分享下载,具体看下文目录,格式为MP4/5.77GB.本资源已做压缩包处理,请勿直接在百度网 ...
- python3 网站状态监控_基于python3监控服务器状态进行邮件报警
在正式的生产环境中,我们常常会需要监控服务器的状态,以保证公司整个业务的正常运转,常常我们会用到像nagios.zabbix这类工具进行实时监控,那么用python我们怎么进行监控呢?这里我们利用了p ...
- scala调用java库_从scala调用java时的java.lang.IllegalAccessError – solutions / workarounds?...
我正在使用 java线性代数库(ojalgo 32.0)进行scala项目,我遇到了一个 奇怪的问题.我使用的每种ojalgo方法都很好(例如矩阵 和逐元素乘法,逆矩阵和随机矩阵 除了用于获得矩阵尺寸 ...
- java 调用postgresql 函数_从Java调用PostgreSQL中的存储过程
我编写了一个我想用Java调用的存储过程.但我不认为它能够对我通过的查询做任何事情.以下是我的java代码: String QUERY_LOCATION = "select (license ...
最新文章
- memcache和memcached安装
- python selenium 等待页面加载完毕_Selenium_等待页面加载完毕
- eclipse 常见问题及解决
- pdo_mysql 必须 ×未安装_php pdo_mysql未安装问题解决方法_PHP教程 | 蒲公英网
- 12星座男生最吃哪一套
- java.nio.file.FileSystemException: xxx: Too many open files
- Python List reverse()方法
- 华水c语言课程设计,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
- uni-app第三方登陆-微信
- java addlast_Java中的LinkedList addLast()方法: java.util.LinkedList.addLast() - Break易站
- for语句 2017-03-17
- 在HTML5中,用getCurrentPosition()获取用户的当前位置
- vba九九乘法表代码_VBA程序控制结构示例-九九乘法表
- 语义分割网络-Segnet
- eth转入地址_ETH智能合约靶机 审计学习攻略
- 倾斜摄影测量和游戏的未来
- PassGAN阅读笔记
- 基于AppCan移动云平台搭建“智慧移动门户”
- 新学习的语言Groovy
- 通过浏览器打开本地exe应用(支持任意浏览器)