関連リンク: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': '泰语'
}