[Memo] English-Chinese Translation Interface

import requests
import random
import json
from hashlib import md5

# Set your own appid/appkey.
appid = '2xxx'
appkey = 'kxxx'

# For list of language codes, please refer to `https://api.fanyi.baidu.com/doc/21`
from_lang = 'en'
to_lang =  'zh'

endpoint = 'http://api.fanyi.baidu.com'
path = '/api/trans/vip/translate'
url = endpoint + path
query = 'Hello World! This is 1st paragraph.This is 2nd paragraph.'
# Generate salt and sign
def make_md5(s, encoding='utf-8'):
    return md5(s.encode(encoding)).hexdigest()

def baidu_api(query,from_lang,to_lang):
    salt = random.randint(32768, 65536)
    sign = make_md5(appid + query + str(salt) + appkey)

    # Build request
    headers = {
    
    'Content-Type': 'application/x-www-form-urlencoded'}
    payload = {
    
    'appid': appid, 'q': query, 'from': from_lang, 'to': to_lang, 'salt': salt, 'sign': sign}

    # Send request
    r = requests.post(url, params=payload, headers=headers)
    result = r.json()

    # Show response
    #print(json.dumps(result, indent=4, ensure_ascii=False))
    return result["trans_result"][0]['dst']
print(baidu_api(query,from_lang, to_lang))

Guess you like

Origin blog.csdn.net/weixin_43427721/article/details/132858536