因为服务器上是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调用谷歌翻译成中文相关推荐

  1. python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

  2. python3.6字典有序_为什么Python3.6字典变得有序了?

    原博文 2019-12-25 16:09 − 其实 在你看了笔者的文章之前,或许想过这样一个问题, 为什么列表是有顺序的呢?而字典不是? 来看一下在内存中是怎样存储的就知道了: 列表的存储是顺序存储, ...

  3. 中文乱码翻译器在线翻译_如何将芬兰语翻译成中文?这两种方法你得会

    我们在工作中有时候也会接触得到一些特殊的任务.举个例子,如果哪天上级让我们翻译芬兰语,若是不会翻译就很尴尬了.该怎么办呢?如何将芬兰语翻译成中文呢?这里小编想要推荐给大家两个比较好用的方法,有需要的小 ...

  4. python爬取外文文献翻译_利用Python爬取翻译网站的翻译功能

    现在我想分享一个利用Python技术,爬取一个翻译网站的翻译功能的小代码. 首先隆重介绍我们今天将要爬取的网站:http://fy.iciba.com/ 咱们用Python中的urllib模块的功能进 ...

  5. python3调用c代码_在Python3.6中调用C代码

    由于完全不懂用C#编写代码,我希望在python代码中调用C#函数.我知道在同一个问题上有很多问题,但是由于一些奇怪的原因,我无法从一个示例python模块导入一个简单的c类库.在 以下是我所做的-C ...

  6. python调用谷歌地图_使用Python调用谷歌地图并记录运动轨迹进行可视化

    本篇博文主要介绍了如何使用python来调用谷歌地图,并对北京的一个轨迹数据集进行可视化展示.该数据集包含在3年内收集的182个用户的GPS轨迹.我在这个演示中使用了用户001的数据. 博文会给出具体 ...

  7. python3人工智能网盘_《Python3入门人工智能掌握机器学习+深度学习提升实战能力》百度云网盘资源分享下载[MP4/5.77GB]...

    内容简介 本资源为<Python3入门人工智能掌握机器学习+深度学习提升实战能力>百度云网盘资源分享下载,具体看下文目录,格式为MP4/5.77GB.本资源已做压缩包处理,请勿直接在百度网 ...

  8. python3 网站状态监控_基于python3监控服务器状态进行邮件报警

    在正式的生产环境中,我们常常会需要监控服务器的状态,以保证公司整个业务的正常运转,常常我们会用到像nagios.zabbix这类工具进行实时监控,那么用python我们怎么进行监控呢?这里我们利用了p ...

  9. scala调用java库_从scala调用java时的java.lang.IllegalAccessError – solutions / workarounds?...

    我正在使用 java线性代数库(ojalgo 32.0)进行scala项目,我遇到了一个 奇怪的问题.我使用的每种ojalgo方法都很好(例如矩阵 和逐元素乘法,逆矩阵和随机矩阵 除了用于获得矩阵尺寸 ...

  10. java 调用postgresql 函数_从Java调用PostgreSQL中的存储过程

    我编写了一个我想用Java调用的存储过程.但我不认为它能够对我通过的查询做任何事情.以下是我的java代码: String QUERY_LOCATION = "select (license ...

最新文章

  1. memcache和memcached安装
  2. python selenium 等待页面加载完毕_Selenium_等待页面加载完毕
  3. eclipse 常见问题及解决
  4. pdo_mysql 必须 ×未安装_php pdo_mysql未安装问题解决方法_PHP教程 | 蒲公英网
  5. 12星座男生最吃哪一套
  6. java.nio.file.FileSystemException: xxx: Too many open files
  7. Python List reverse()方法
  8. 华水c语言课程设计,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
  9. uni-app第三方登陆-微信
  10. java addlast_Java中的LinkedList addLast()方法: java.util.LinkedList.addLast() - Break易站
  11. for语句 2017-03-17
  12. 在HTML5中,用getCurrentPosition()获取用户的当前位置
  13. vba九九乘法表代码_VBA程序控制结构示例-九九乘法表
  14. 语义分割网络-Segnet
  15. eth转入地址_ETH智能合约靶机 审计学习攻略
  16. 倾斜摄影测量和游戏的未来
  17. PassGAN阅读笔记
  18. 基于AppCan移动云平台搭建“智慧移动门户”
  19. 新学习的语言Groovy
  20. 通过浏览器打开本地exe应用(支持任意浏览器)

热门文章

  1. 微信公众号常见微信吸粉方式
  2. craps 双骰子源码c语言,双骰子(Craps)规则及其玩法二(转)
  3. lumion拍摄视频基础
  4. 各平均数介绍(算数平均数、几何平均数、加权算术平均数)
  5. CSS边框boder
  6. 热血传奇服务端源代码分析笔记
  7. 什么是互联网产品运营
  8. 上海理工大计算机学研究生怎么样,上海理工大学(专业学位)计算机技术考研难吗...
  9. 软件体系结构——批处理风格
  10. android 清理系统垃圾,安卓手机怎么清理系统垃圾