现在很都平台的翻译api接口都开始收费了,比如谷歌、微软、yandex等等,注册非常麻烦,而且要钱,目前就百度还剩下一个最基础的翻译api不需要钱,今天我要和大家分享的是怎样使用python3调用百度翻译接口,虽然百度官方有现成的演示,但在实际的应用过程中还是存在一些问题的,网上的各种资料众说纷纭,纷繁复杂,一不小心就给你带沟里去了。
第一步,咱们当时是要申请百度翻译的API了,申请地址是:“http://api.”。请自己注册账户并从这个地址登录进去。
第二步,选择“通用api”,点进去:
第三步,点“立即使用”
第四步,点“管理控制台”==》“开发者信息”,然后你看到的“申请者信息”下面的“APP ID”和“密钥”,复制并保存,一会咱们会用得到。
第五步,自己查看百度翻译api开发文档,并着手开始编写代码。
百度通用翻译api文档:http://api./product/113
百度通用翻译api常见问题:http://api./product/114
百度通用翻译api产品介绍:http://api./product/111
我使用的是python3.8来编写的英文翻译程序,中间遇到的坑和过程我就不赘述了,下面直接放出代码,供大家参考:
# /usr/bin/env python
# coding=utf8
"""
@作者: ZhangFei
@邮箱: 125252828@
@开发工具: PyCharm
@标题 :
@文件名: fy.py
@创建时间: /12/8 10:12
"""
import json
import http.client # 修改引用的模块
import hashlib # 修改引用的模块
from urllib import parse
import random
def fanyi(english):
appid = '0117000036107' # appid
secretKey = 'YS6f4JP_dxMNM44YmhMa' # 密钥
httpClient = None
myurl = '/api/trans/vip/translate'
q = english
fromLang = 'en'
toLang = 'zh'
salt = random.randint(32768, 65536)
sign = appid + q + str(salt) + secretKey
m1 = hashlib.md5()
m1.update(sign.encode("utf-8"))
sign = m1.hexdigest()
myurl = myurl + '?appid=' + appid + '&q=' + \
parse.quote(q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + sign
try:
httpClient = http.client.HTTPConnection('api.')
httpClient.request('GET', myurl)
response = httpClient.getresponse()
# 转码
html = response.read().decode('utf-8')
html = json.loads(html)
dst = html["trans_result"][0]["dst"]
print(dst)
except Exception as e:
print(e)
finally:
if httpClient:
httpClient.close()
if __name__ == '__main__':
fanyi("Rank Math free version is required to run Rank Math Pro. Both plugins are now disabled.")
下面我在将这个程序翻译英文的结果贴到下面,给大家看看效果:
X:\www\rfm_flask\venv\Scripts\python.exe H:/www/rfm_flask/fy.py
Rank Math free版本需要运行Rank Math Pro。两个插件现在都被禁用了。
Process finished with exit code 0
备注:网上很多代码都是东拼西凑,标题写的是python3,其实使用的是python2.x,这会给新手带来很多困扰。
如果觉得《python百度翻译api申请网页版_python3调用百度翻译api接口实现全过程》对你有帮助,请点赞、收藏,并留下你的观点哦!