Youdaoは多言語インターフェース(Python)の呼び出しメソッドを翻訳します

関連リンク:Google多言語翻訳インターフェース(Python)の3つの呼び出しメソッド日常生活や仕事において、翻訳ツールを使用する必要があることがよくあります。数ある翻訳ツールの中でも、私は個人的に Google 翻訳が好きなので、ここでは Python 経由で Google 翻訳インターフェイスを呼び出す 3 つの方法を紹介します。https://blog.csdn.net/qq_40039731/article/details/126239369?spm=1001.2014.3001.5501        日常生活や仕事において、翻訳ツールを使用する必要があることがよくあります。Google 翻訳が中国で提供を停止したため、代わりに Youdao Translate が使用されており、Python を介して Youdao Translate インターフェイスを呼び出す方法は 2 つあります。

 方法1(簡易版)

import requests
def youdao_translate(text, src_lang='AUTO', to_lang='AUTO'):
    url = 'http://fanyi.youdao.com/translate'
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'}
    data = {'from': src_lang, 'to': to_lang, 'i': text, 'doctype': 'json'}
    response = requests.post(url=url, headers=headers, data=data)
    res = response.json()['translateResult'][0][0]['tgt']
    return res

 方法 2 (上級バージョン)

import requests
import time
import random
import hashlib

def youdao_translate_advance(text, src_lang='AUTO', to_lang='AUTO'):
    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
    user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'
    headers = {
        'User-Agent': user_agent,
        'Referer': 'http://fanyi.youdao.com/',
        'Origin': 'http://fanyi.youdao.com',
        'X-Requested-With': 'XMLHttpRequest',
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Connection': 'keep-alive',
        'Host': 'fanyi.youdao.com',
        'cookie': '_ntes_nnid=937f1c788f1e087cf91d616319dc536a,1564395185984; OUTFOX_SEARCH_USER_ID_NCOO=; [email protected]; JSESSIONID=; ___rl__test__cookies=1'
    }
    lts = str(round(time.time() * 1000))
    salt = lts + str(random.randint(1, 10))
    strange_str = 'n%A-rKaT5fb[Gy?;N5@Tj'  # 'p09@Bn{h02_BIEe]$P^nG'
    sign = hashlib.md5(('fanyideskweb' + text + salt + strange_str).encode('utf-8')).hexdigest()
    bv = hashlib.md5(user_agent.encode('utf-8')).hexdigest()
    data = {
        'i': text,
        'from': src_lang,
        'to': to_lang,
        'smartresult': 'dict',
        'client': 'fanyideskweb',
        'salt': salt,  # 当前毫秒时间戳与10以内随机数字字符串的拼接
        'sign': sign,  # 'fanyideskweb' + text + salt + strange_str的md5值
        'lts': lts,  # 当前毫秒时间戳
        'bv': bv,  # 浏览器平台和版本信息的md5值
        'doctype': 'json',
        'version': '2.1',
        'keyfrom': 'fanyi.web',
        'action': 'FY_BY_CLICKBUTTION',
    }
    response = requests.post(url=url, headers=headers, data=data)
    res = response.json()['translateResult'][0][0]['tgt']
    return res

走行結果の表示

すべての言語とそれに対応するエンコーディング

{
    'AUTO': '自动检测语言',
    'zh-CHS': '中文',
    'en': '英语',
    'ja': '日语',
    'ko': '韩语',
    'fr': '法语',
    'de': '德语',
    'ru': '俄语',
    'es': '西班牙语',
    'pt': '葡萄牙语',
    'it': '意大利语',
    'vi': '越南语',
    'id': '印尼语',
    'ar': '阿拉伯语',
    'nl': '荷兰语',
    'th': '泰语'
}

おすすめ

転載: blog.csdn.net/qq_40039731/article/details/127302928