在写代码的时候,或看文档的时候遇到不认识的单词,或是如下操作:
- 启动浏览器
- 输入fanyi.baidu.com
- 输入单词点击翻译
一顿操作猛如虎,得到了翻译结果,其实用起来感觉不是那么顺手
程序员总是会开着一个控制台的,如果能通过命令行来查单词,是不是感觉挺方便,像下面这样:
kylindai-mac:tools hongbin.dhb$ trans panic
恐慌
kylindai-mac:tools hongbin.dhb$
下面python是代码:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
import http.client
import hashlib
import urllib
import random
import json
app_id = 'YOUR_BAIDU_APP_ID'
app_secret = 'YOUR_BAIDU_APP_SECRET'
def com_trans(q, from_lang, to_lang):
host = 'api.fanyi.baidu.com'
url = '/api/trans/vip/translate'
salt = random.randint(32768, 65536)
sign1 = app_id + q + str(salt) + app_secret
m = hashlib.md5()
m.update(sign1.encode('utf-8'))
sign2 = m.hexdigest()
url = url + '?appid=' + app_id + \
'&q=' + urllib.parse.quote(q) + \
'&from=' + from_lang + \
'&to=' + to_lang + \
'&salt=' + str(salt) + \
'&sign=' + sign2
conn = http.client.HTTPConnection(host)
conn.request("GET", url)
resp = conn.getresponse()
data = resp.read()
resp = bytes.decode(data)
# print(resp1)
# print(bytes.decode(data1))
# print(str(data1, "utf-8"))
result = json.loads(resp)
print('通用:', result['trans_result'][0]['dst'])
conn.close()
def fin_trans(q, from_lang, to_lang):
host = 'fanyi-api.baidu.com'
url = '/api/trans/vip/fieldtranslate'
salt = random.randint(32768, 65536)
sign1 = app_id + q + str(salt) + 'finance' + app_secret
m = hashlib.md5()
m.update(sign1.encode('utf-8'))
sign2 = m.hexdigest()
url = url + '?appid=' + app_id + \
'&domain=finance' + \
'&q=' + urllib.parse.quote(q) + \
'&from=' + from_lang + \
'&to=' + to_lang + \
'&salt=' + str(salt) + \
'&sign=' + sign2
conn = http.client.HTTPConnection(host)
conn.request("GET", url)
resp = conn.getresponse()
data = resp.read()
resp = bytes.decode(data)
# print(resp1)
# print(bytes.decode(data1))
# print(str(data1, "utf-8"))
result = json.loads(resp)
print('财经:', result['trans_result'][0]['dst'])
conn.close()
if __name__ == '__main__':
if len(sys.argv) == 1:
quit()
q = sys.argv[1]
com_trans(q, 'en', 'zh')
fin_trans(q, 'en', 'zh')