python百度翻译api申请网页版_python3调用百度翻译api接口实现全过程

现在很都平台的翻译api接口都开始收费了,比如谷歌、微软、yandex等等,注册非常麻烦,而且要钱,目前就百度还剩下一个最基础的翻译api不需要钱,今天我要和大家分享的是怎样使用python3调用百度翻译接口,虽然百度官方有现成的演示,但在实际的应用过程中还是存在一些问题的,网上的各种资料众说纷纭,纷繁复杂,一不小心就给你带沟里去了。

第一步,咱们当时是要申请百度翻译的API了,申请地址是:“http://api.fanyi.baidu.com”。请自己注册账户并从这个地址登录进去。

第二步,选择“通用api”,点进去:

第三步,点“立即使用”

第四步,点“管理控制台”==》“开发者信息”,然后你看到的“申请者信息”下面的“APP ID”和“密钥”,复制并保存,一会咱们会用得到。

第五步,自己查看百度翻译api开发文档,并着手开始编写代码。

百度通用翻译api文档:http://api.fanyi.baidu.com/product/113

百度通用翻译api常见问题:http://api.fanyi.baidu.com/product/114

百度通用翻译api产品介绍:http://api.fanyi.baidu.com/product/111

我使用的是python3.8来编写的英文翻译程序,中间遇到的坑和过程我就不赘述了,下面直接放出代码,供大家参考:

# /usr/bin/env python

# coding=utf8

"""

@作者: ZhangFei

@邮箱: 125252828@qq.com

@开发工具: PyCharm

@标题 :

@文件名: fy.py

@创建时间: 2020/12/8 10:12

"""

import json

import http.client # 修改引用的模块

import hashlib # 修改引用的模块

from urllib import parse

import random

def fanyi(english):

appid = '20170117000036107' # 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.fanyi.baidu.com')

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,这会给新手带来很多困扰。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用百度翻译API,您需要先在百度翻译开放平台注册并创建一个应用程序,然后获取应用程序的APP ID和密钥。 接着,在Python调用百度翻译API接口需要使用requests库,以下是一个示例代码: ```python import requests import json url = 'https://fanyi.baidu.com/v2transapi' app_id = 'your app id' secret_key = 'your secret key' def translate(text, from_lang, to_lang): data = { 'from': from_lang, 'to': to_lang, 'query': text, 'transtype': 'translang', 'simple_means_flag': '3', 'sign': '', 'token': '', } sign = app_id + text + str(1435660288) + secret_key sign = hashlib.md5(sign.encode()).hexdigest() data['sign'] = sign data['token'] = 'e8c37d1a59fdefa0e7e9e012c2261f48' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36', 'Referer': 'https://fanyi.baidu.com/', 'Origin': 'https://fanyi.baidu.com', 'Host': 'fanyi.baidu.com', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.6', 'Cookie': 'BAIDUID=your Baidu ID', } response = requests.post(url, headers=headers, data=data) content = json.loads(response.text) return content['trans_result']['data'][0]['dst'] ``` 在上面的代码中,您需要将“your app id”和“your secret key”替换为您自己的百度翻译应用程序的APP ID和密钥。还需要将“your Baidu ID”替换为您自己的百度ID。 然后,您可以调用“translate”函数并传递要翻译的文本,源语言和目标语言作为参数。例如: ```python text = 'Hello, World!' from_lang = 'en' to_lang = 'zh' translation = translate(text, from_lang, to_lang) print(translation) ``` 这将输出“你好,世界!”(Hello, World!的中文翻译)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值