python使用百度api翻译中英文

写程序取变量名的时候,常常需要翻译单词,或者将中文翻译成英语.有道词典,必应词典都很好,可是...命令行习惯了还是觉得用在cmd里面调出程序使用起来也许会更爽.于是查了查python相关的翻译脚本.都很简单,获取网页,然后解析,没找到用requeset库的.于是自己用request库写了个.. 虽然简单,但是实用就好啦~~ 上网搜索发下百度的翻译api有demo

稍微修改一下就可以直接使用了

  1. #coding=utf8
  2. import httplib
  3. import md5
  4. import urllib
  5. import random
  6. import json
  7. '''
  8. appid 申请 http://api.fanyi.baidu.com/api/trans/product/apiapply
  9. '''
  10. appid = '20151113000005349'
  11. secretKey = 'osubCEzlGjzvw8qdQc41'
  12. httpClient = None
  13. def requestTranslate(word,fromLang = 'en',toLang="zh"):
  14. salt = random.randint(32768, 65536)
  15. sign = appid+word+str(salt)+secretKey
  16. m1 = md5.new()
  17. m1.update(sign)
  18. sign = m1.hexdigest()
  19. httpClient = httplib.HTTPConnection('api.fanyi.baidu.com')
  20. myurl = '/api/trans/vip/translate'
  21. myurl = myurl+'?appid='+appid+'&q='+urllib.quote(word)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign
  22. httpClient.request('GET', myurl)
  23. #response是HTTPResponse对象
  24. response = httpClient.getresponse()
  25. result = response.read()
  26. ret = json.loads(result)
  27. print(ret["trans_result"][0]["dst"])
  28. httpClient.close()
  29. #判断首字母是否是英文字母从而判断是英译汉or汉译英
  30. def is_english_char(ch):
  31. if ord(ch) not in range(97,122) and ord(ch) not in range(65,90):
  32. return False
  33. return True
  34. if __name__ == '__main__':
  35. import sys
  36. word = (len(sys.argv) > 1) and sys.argv[1] or None
  37. queryOnce = (word != None)
  38. while True:
  39. try:
  40. if word == None:
  41. word = raw_input("\n input word to translate ,#[ input \"!\"exit ]\n>")
  42. if word == "!":
  43. break
  44. fromLang = "en"
  45. toLang = "zh"
  46. if not is_english_char(word[0]):
  47. fromLang = "zh"
  48. toLang = "en"
  49. word = word.decode('gbk').encode('utf-8')
  50. requestTranslate(word,fromLang,toLang)
  51. word = None
  52. if queryOnce == True:
  53. break
  54. except Exception,e:
  55. print('!!!!! catch error!! ' + str(e))
  56. word = None

推荐将如下 脚本放在 环境变量里边,直接 win+r , tw english 或者 tw 中文~~

效果更快

  1. @echo off
  2. set OLD_DIR=%cd%
  3. set DIR=%~dp0
  4. cd /d %DIR%
  5. python .\translate_word_new.py %1
  6. pause

python使用百度api翻译中英文的更多相关文章

  1. 爬虫-python调用百度API/requests

    from urllib.request import urlopen import requests import json url = "http://apis.baidu.com/txa ...

  2. Python 调用百度翻译API

    由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu ...

  3. Python汉英/英汉翻译(百度API/有道API)

    一.百度API实现 Step1:申请API Key 以前用过BAE,已经有了Api Key,没有的可以去申请 Step2:挺简单,直接看实现的代码吧 ```python #coding:utf-8 i ...

  4. Python获得百度统计API的数据并发送邮件

    Python获得百度统计API的数据并发送邮件 小工具  本来这么晚是不准备写博客的,当是想到了那个狗子绝对会在开学的时候跟我逼逼这个事情,所以,还是老老实实地写一下吧.   Baidu统计API的使 ...

  5. Python + 百度Api 通过地址关键字获得格式化的地址信息

    由于用户输入是千奇百怪的,除了格式语法不合要求之外的,即便是所谓的合法数据也是五花八门.尤其是地址,所有才由此文. 百度Api注册一个账号,创建一个应用后就会有一个`ak`的参数,就够了. Pytho ...

  6. Python爬虫之百度API调用

    调用百度API获取经纬度信息. import requests import json address = input('请输入地点:') par = {'address': address, 'ke ...

  7. HTML实现调用百度在线翻译API

    HTML实现调用百度在线翻译API 本文章已收录于:   <!doctype html> <html lang="en"> <head> < ...

  8. C#调百度通用翻译API翻译HALCON的示例描述

    目录 准备工作 参数简介 输入参数 输出参数 使用HttpClient 翻译工具类 应用:翻译HALCON的示例描述 准备工作 HALCON示例程序的描述部分一直是英文的,看起来很不方便.我决定汉化一 ...

  9. 转载:Python 实现百度翻译

    来源: https://blog.csdn.net/qq_44814439/article/details/105642066 作者: Chloemxc 功能: Python 实现百度翻译 from ...

随机推荐

  1. fastjson的deserializer的主要优化算法

    JSON最佳实践 | kimmking's blog http://kimmking.github.io/2017/06/06/json-best-practice/ Fastjson内幕 Java综 ...

  2. 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则

    负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...

  3. 用linux c求最大公约数

    我写了两中函数,一个是辗转相除法一个是更相减损法,主要代码如下: /*辗转相除法*/int gcd(int a, int b) { ) { return b; } else { return gcd( ...

  4. java-mybaits-00502-案例-映射分析-一对一、一对多、多对多

    1.一对一查询[类属性即可,association ] 案例:查询所有订单信息,关联查询下单用户信息.   注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查 ...

  5. 安装odoo过程中出现的问题

    一 centos6.5 1. simplejson error:module not found fix: easy_install simplejson 2. python version erro ...

  6. mysql 系统变量和session变量

    mysql系统变量包括全局变量(global)和会话变量(session),global变量对所有session生效,session变量包括global变量.mysql调优必然会涉及这些系统变量的调整 ...

  7. one hot coding -机器学习

    机器学习 数据预处理之独热编码(One-Hot Encoding) 问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑一下的三个特征: ["male" ...

  8. mysql数据库优化的几种方法

    1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...

  9. 自定义admin管理工具(stark组件)

    自定义admin管理工具(stark组件) 创建项目 了解了admin的功能后,我们可以开始仿照admin编写我们自己的管理工具stark组件 首先创建一个新的项目,并创建三个app stark就是我 ...

  10. CSS实现文本超过指定长度显示省略号

    <style type="text/css"> li { width:200px;/*宽度,超过即会溢出*/ line-height:25px;/*设置行间距*/ te ...