目前仍然可以调用的小脚本,分享给大家,如果有需要详解的,欢迎与我交流,切忌用作商业用途,转发请署名。
import requests
import json
import time
import random
import hashlib
def e_to_c_yd(s):
url_pre = 'https://fanyi.youdao.com/'
headers_pre = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36"
}
res_pre = requests.get(url_pre, headers=headers_pre)
cookies = "OUTFOX_SEARCH_USER_ID=" + res_pre.cookies.values()[0]
lts = str(int(time.time() * 1000))
salt = lts + str(int(10 * random.random()))
sign_str = 'fanyideskweb' + s + salt + 'Ygy_4c=r#e#4EX^NUGUc5'
m = hashlib.md5()
m.update(sign_str.encode())
sign = m.hexdigest() # 生成MD5加密的sign
url = 'https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
m.update(headers_pre['User-Agent'].encode())
bv = m.hexdigest() # 生成MD5加密的sign
headers = {
"Referer": "https://fanyi.youdao.com/",
"Cookie": cookies,
"User-Agent": headers_pre['User-Agent']
}
data = {
"i": s,
"from": "AUTO",
"to": "AUTO",
"smartresult": "dict",
"client": "fanyideskweb",
"salt": salt,
"sign": sign,
"lts": lts,
"bv": bv,
"doctype": "json",
"version": "2.1",
"keyfrom": "fanyi.web",
"action": "FY_BY_REALTlME",
}
res = requests.post(url, headers=headers, data=data)
try:
content = json.loads(res.text)
if 'translateResult' in content:
return content['translateResult'][0][0]['tgt']
except Exception as e:
return None
e_to_c_yd('hello')
>>> 你好