python使用百度api翻译中英文
python使用百度api翻译中英文
写程序取变量名的时候,常常需要翻译单词,或者将中文翻译成英语.有道词典,必应词典都很好,可是...命令行习惯了还是觉得用在cmd里面调出程序使用起来也许会更爽.于是查了查python相关的翻译脚本.都很简单,获取网页,然后解析,没找到用requeset库的.于是自己用request库写了个.. 虽然简单,但是实用就好啦~~ 上网搜索发下百度的翻译api有demo
稍微修改一下就可以直接使用了
#coding=utf8
import httplib
import md5
import urllib
import random
import json
'''
appid 申请 http://api.fanyi.baidu.com/api/trans/product/apiapply
'''
appid = '20151113000005349'
secretKey = 'osubCEzlGjzvw8qdQc41'
httpClient = None
def requestTranslate(word,fromLang = 'en',toLang="zh"):
salt = random.randint(32768, 65536)
sign = appid+word+str(salt)+secretKey
m1 = md5.new()
m1.update(sign)
sign = m1.hexdigest()
httpClient = httplib.HTTPConnection('api.fanyi.baidu.com')
myurl = '/api/trans/vip/translate'
myurl = myurl+'?appid='+appid+'&q='+urllib.quote(word)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign
httpClient.request('GET', myurl)
#response是HTTPResponse对象
response = httpClient.getresponse()
result = response.read()
ret = json.loads(result)
print(ret["trans_result"][0]["dst"])
httpClient.close()
#判断首字母是否是英文字母从而判断是英译汉or汉译英
def is_english_char(ch):
if ord(ch) not in range(97,122) and ord(ch) not in range(65,90):
return False
return True
if __name__ == '__main__':
import sys
word = (len(sys.argv) > 1) and sys.argv[1] or None
queryOnce = (word != None)
while True:
try:
if word == None:
word = raw_input("\n input word to translate ,#[ input \"!\"exit ]\n>")
if word == "!":
break
fromLang = "en"
toLang = "zh"
if not is_english_char(word[0]):
fromLang = "zh"
toLang = "en"
word = word.decode('gbk').encode('utf-8')
requestTranslate(word,fromLang,toLang)
word = None
if queryOnce == True:
break
except Exception,e:
print('!!!!! catch error!! ' + str(e))
word = None
推荐将如下 脚本放在 环境变量里边,直接 win+r , tw english 或者 tw 中文~~
效果更快
@echo off
set OLD_DIR=%cd%
set DIR=%~dp0
cd /d %DIR%
python .\translate_word_new.py %1
pause
python使用百度api翻译中英文的更多相关文章
- 爬虫-python调用百度API/requests
from urllib.request import urlopen import requests import json url = "http://apis.baidu.com/txa ...
- Python 调用百度翻译API
由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu ...
- Python汉英/英汉翻译(百度API/有道API)
一.百度API实现 Step1:申请API Key 以前用过BAE,已经有了Api Key,没有的可以去申请 Step2:挺简单,直接看实现的代码吧 ```python #coding:utf-8 i ...
- Python获得百度统计API的数据并发送邮件
Python获得百度统计API的数据并发送邮件 小工具 本来这么晚是不准备写博客的,当是想到了那个狗子绝对会在开学的时候跟我逼逼这个事情,所以,还是老老实实地写一下吧. Baidu统计API的使 ...
- Python + 百度Api 通过地址关键字获得格式化的地址信息
由于用户输入是千奇百怪的,除了格式语法不合要求之外的,即便是所谓的合法数据也是五花八门.尤其是地址,所有才由此文. 百度Api注册一个账号,创建一个应用后就会有一个`ak`的参数,就够了. Pytho ...
- Python爬虫之百度API调用
调用百度API获取经纬度信息. import requests import json address = input('请输入地点:') par = {'address': address, 'ke ...
- HTML实现调用百度在线翻译API
HTML实现调用百度在线翻译API 本文章已收录于: <!doctype html> <html lang="en"> <head> < ...
- C#调百度通用翻译API翻译HALCON的示例描述
目录 准备工作 参数简介 输入参数 输出参数 使用HttpClient 翻译工具类 应用:翻译HALCON的示例描述 准备工作 HALCON示例程序的描述部分一直是英文的,看起来很不方便.我决定汉化一 ...
- 转载:Python 实现百度翻译
来源: https://blog.csdn.net/qq_44814439/article/details/105642066 作者: Chloemxc 功能: Python 实现百度翻译 from ...
随机推荐
- [ Office 365 开发系列 ] 前言
前言 本人从接触Microsoft SharePoint Server 2007到目前为止,已经在微软SharePoint的路上已经走了好几年,基于SharePoint平台的特殊性,对微软产品线都有了 ...
- 关于如何将Eclipse中@author进行修改的解决方法
问题:Eclipse和 MyEclipse上的文档注释"/**"里面的"@author Administrator"是自动生成的姓名,有时我们需要将自己的代码进 ...
- 浏览器加载不上css,样式走丢
来自:http://www.cnblogs.com/crizygo/p/5466444.html 问题描述:使用eclipse修改样式文件,浏览器的页面一时显示一时不显示,最后直接没有加载最新的css ...
- angularJs-脏检查
来自:http://www.cnblogs.com/liuyanan/p/4935652.html scope是一个指向应用model的object,也是表达式的执行上下文. scope被放置在一个类 ...
- Xcode6 部署iphone4s出现的问题 No architectures to compile for
手贱升级到了Xcode6.结果一打开来就爆了各种错误换个警告; 各种百度和谷歌,终于搞定了,然后插上4S,结果还是报错. 解决: 1.找到 Build Settings 2.点击 Architectu ...
- Exception in thread "main" java.lang.UnsupportedClassVersionError: * : Unsupported major.minor version 52.0 解决办法
Exception in thread "main" java.lang.UnsupportedClassVersionError: * : Unsupported major.m ...
- VI乱码, cat 和 more正常
今天在做一个东西的时候发现,vi乱码,cat,more这个文件汉字显示也正常,查了网上很多东西最后发现按一种说法改对了: 应该是格式化的问题! 比如man手册的文件有一些格式标记,你用man ,c ...
- Java 之 JUC
1. JUC 简介 在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类, 用于定义类似于线程的自定义子系统,包括线程池,异 ...
- 剑指Offer——二叉树的深度
题目描述: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 分析: 二叉树的深度等于其左子树的深度和右子树的深度两个中最大的深 ...
- golang环境安装
到官方https://golang.org/dl/下载安装包 cd /usr/local/src wget https://storage.googleapis.com/golang/go1.8.li ...