python调用百度翻译api(自己写的非官方demo)

来源:互联网 发布:电脑软件怎么卸载 编辑:程序博客网 时间:2024/06/05 03:40

最近翻译一些单词时候每次都得打开chrome,然后打开百度翻译,就很烦

昨天突然来了灵感,就像调用一下模拟浏览器,来尝试爬虫获取翻译后的信息,后来发现urlopen根本不行,于是尝试requests也不行就很gg

于是用了模拟浏览器,结果发现效率真是非常的低下,后来百度看了一下,发现百度翻译是有api接口的

然而昨天手机没有电了,于是今天在申请了开发者之后就用了这个api写了一下代码

话不多说,贴代码,除去了隐私的部分,补充后直接能跑,环境python3.6

import requestsimport stringimport timeimport hashlibimport json#initapi_url = "http://api.fanyi.baidu.com/api/trans/vip/translate"my_appid = 你的idcyber = 你的密钥lower_case = list(string.ascii_lowercase)def requests_for_dst(word):    #init salt and final_sign    salt = str(time.time())[:10]    final_sign = str(my_appid)+word+salt+cyber    final_sign = hashlib.md5(final_sign.encode("utf-8")).hexdigest()    #区别en,zh构造请求参数    if list(word)[0] in lower_case:        paramas = {            'q':word,            'from':'en',            'to':'zh',            'appid':'%s'%my_appid,            'salt':'%s'%salt,            'sign':'%s'%final_sign            }        my_url = api_url+'?appid='+str(my_appid)+'&q='+word+'&from='+'en'+'&to='+'zh'+'&salt='+salt+'&sign='+final_sign    else:        paramas = {            'q':word,            'from':'zh',            'to':'en',            'appid':'%s'%my_appid,            'salt':'%s'%salt,            'sign':'%s'%final_sign            }        my_url = api_url+'?appid='+str(my_appid)+'&q='+word+'&from='+'zh'+'&to='+'en'+'&salt='+salt+'&sign='+final_sign    response = requests.get(api_url,params = paramas).content    content = str(response,encoding = "utf-8")    json_reads = json.loads(content)    print(json_reads['trans_result'][0]['dst'])while True:    word = input("输入你想翻译的内容: ")    requests_for_dst(word)