一 获取xhr中的webtranslate文件请求
二 发起请求
import requests
cookies = {
'OUTFOX_SEARCH_USER_ID': '-714967047@58.22.0.172',
'OUTFOX_SEARCH_USER_ID_NCOO': '971485064.0958748',
'DICT_DOCTRANS_SESSION_ID': 'MGQyMWMyN2ItNTg4My00M2ZhLTg4MjYtMjAyY2FlNzlhNDI0',
}
headers = {
'Accept': 'application/json, text/plain, */*',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,ar;q=0.7',
'Connection': 'keep-alive',
'Content-Type': 'application/x-www-form-urlencoded',
# 'Cookie': 'OUTFOX_SEARCH_USER_ID=-714967047@58.22.0.172; OUTFOX_SEARCH_USER_ID_NCOO=971485064.0958748; DICT_DOCTRANS_SESSION_ID=MGQyMWMyN2ItNTg4My00M2ZhLTg4MjYtMjAyY2FlNzlhNDI0',
'Origin': 'https://fanyi.youdao.com',
'Referer': 'https://fanyi.youdao.com/',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-site',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36',
'sec-ch-ua': '"Chromium";v="128", "Not;A=Brand";v="24", "Google Chrome";v="128"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
}
data = {
'i': '不',
'from': 'auto',
'to': '',
'useTerm': 'false',
'dictResult': 'true',
'keyid': 'webfanyi',
'sign': '4fa31a1c9966299a954e0c18e22a2aab',
'client': 'fanyideskweb',
'product': 'webfanyi',
'appVersion': '1.0.0',
'vendor': 'web',
'pointParam': 'client,mysticTime,product',
'mysticTime': '1725155442035',
'keyfrom': 'fanyi.web',
'mid': '1',
'screen': '1',
'model': '1',
'network': 'wifi',
'abtest': '0',
'yduuid': 'abcdefg',
}
response = requests.post('https://dict.youdao.com/webtranslate', cookies=cookies, headers=headers, data=data)
print(response.text)
将其打印后会发现一个加密字符串
三 关键字进行搜索
O = (e, t, a) => {
if (!e)
return null;
const o = l.alloc(16, T(t))
, n = l.alloc(16, T(a))
, r = i.createDecipheriv("aes-128-cbc", o, n);
let s = r.update(e, "base64", "utf-8");
return s += r.final("utf-8"),
查找到这个解密逻辑,其中我们可知道e就是加密数据,将这段js代码复刻到自己代码中即可