爬虫js基础5
百度翻译
window = global;
function maji123(t) {
var r = '320305.131321201'
// r = null;
var o, i = t.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g);
if (null === i) {
var a = t.length;
a > 30 && (t = "".concat(t.substr(0, 10)).concat(t.substr(Math.floor(a / 2) - 5, 10)).concat(t.substr(-10, 10)))
} else {
for (var s = t.split(/[\uD800-\uDBFF][\uDC00-\uDFFF]/), c = 0, u = s.length, l = []; c < u; c++)
"" !== s[c] && l.push.apply(l, function(t) {
if (Array.isArray(t))
return e(t)
}(o = s[c].split("")) || function(t) {
if ("undefined" != typeof Symbol && null != t[Symbol.iterator] || null != t["@@iterator"])
return Array.from(t)
}(o) || function(t, n) {
if (t) {
if ("string" == typeof t)
return e(t, n);
var r = Object.prototype.toString.call(t).slice(8, -1);
return "Object" === r && t.constructor && (r = t.constructor.name),
"Map" === r || "Set" === r ? Array.from(t) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? e(t, n) : void 0
}
}(o) || function() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}()),
c !== u - 1 && l.push(i[c]);
var p = l.length;
p > 30 && (t = l.slice(0, 10).join("") + l.slice(Math.floor(p / 2) - 5, Math.floor(p / 2) + 5).join("") + l.slice(-10).join(""))
}
for (var d = "".concat(String.fromCharCode(103)).concat(String.fromCharCode(116)).concat(String.fromCharCode(107)), h = (null !== r ? r : (r = window[d] || "") || "").split("."), f = Number(h[0]) || 0, m = Number(h[1]) || 0, g = [], y = 0, v = 0; v < t.length; v++) {
var _ = t.charCodeAt(v);
_ < 128 ? g[y++] = _ : (_ < 2048 ? g[y++] = _ >> 6 | 192 : (55296 == (64512 & _) && v + 1 < t.length && 56320 == (64512 & t.charCodeAt(v + 1)) ? (_ = 65536 + ((1023 & _) << 10) + (1023 & t.charCodeAt(++v)),
g[y++] = _ >> 18 | 240,
g[y++] = _ >> 12 & 63 | 128) : g[y++] = _ >> 12 | 224,
g[y++] = _ >> 6 & 63 | 128),
g[y++] = 63 & _ | 128)
}
for (var b = f, w = "".concat(String.fromCharCode(43)).concat(String.fromCharCode(45)).concat(String.fromCharCode(97)) + "".concat(String.fromCharCode(94)).concat(String.fromCharCode(43)).concat(String.fromCharCode(54)), k = "".concat(String.fromCharCode(43)).concat(String.fromCharCode(45)).concat(String.fromCharCode(51)) + "".concat(String.fromCharCode(94)).concat(String.fromCharCode(43)).concat(String.fromCharCode(98)) + "".concat(String.fromCharCode(43)).concat(String.fromCharCode(45)).concat(String.fromCharCode(102)), x = 0; x < g.length; x++)
b = n(b += g[x], w);
return b = n(b, k),
(b ^= m) < 0 && (b = 2147483648 + (2147483647 & b)),
"".concat((b %= 1e6).toString(), ".").concat(b ^ f)
}
function n(t, e) {
for (var n = 0; n < e.length - 2; n += 3) {
var r = e.charAt(n + 2);
r = "a" <= r ? r.charCodeAt(0) - 87 : Number(r),
r = "+" === e.charAt(n + 1) ? t >>> r : t << r,
t = "+" === e.charAt(n) ? t + r & 4294967295 : t ^ r
}
return t
}
import requests
import execjs
cookies = {
'PSTM': '1676516073',
'BAIDUID': '9E228668B81BA44D7C70779EC84ED1AF:FG=1',
'BIDUPSID': 'D7112B867062DA7408D3EFB420F31EDA',
'REALTIME_TRANS_SWITCH': '1',
'FANYI_WORD_SWITCH': '1',
'HISTORY_SWITCH': '1',
'SOUND_SPD_SWITCH': '1',
'SOUND_PREFER_SWITCH': '1',
'BAIDUID_BFESS': '9E228668B81BA44D7C70779EC84ED1AF:FG=1',
'ZFY': 'lR9X5YUeJHY1Do8OqqLL:A:An0w4uoE10mafn9SRjhMVk:C',
'delPer': '0',
'PSINO': '6',
'RT': 'z=1&dm=baidu.com&si=e16561da-80c3-499b-93dd-d7653848713a&ss=ljpingjj&sl=0&tt=0&bcn=https%3A%2F%2Ffclog.baidu.com%2Flog%2Fweirwood%3Ftype%3Dperf&ld=5mdj&nu=1irpc9387&cl=5lld&ul=b9h1f1&hd=b9h1g7',
'BDRCVFR[dG2JNJb_ajR]': 'mk3SLVN4HKm',
'BDRCVFR[-pGxjrCMryR]': 'mk3SLVN4HKm',
'BA_HECTOR': '2021840k85a18l048h058l2d1iba12o1o',
'BDORZ': 'B490B5EBF6F3CD402E515D22BCDA1598',
'H_PS_PSSID': '36556_38642_38831_39027_39023_38956_39040_38818_38825_38987_39085_26350_39095_39051_39100_38950',
'BCLID': '12568793464885186616',
'BCLID_BFESS': '12568793464885186616',
'BDSFRCVID': 'oekOJexroG0ZmSbfRm_PM5smG_weG7bTDYrEOwXPsp3LGJLVFakFEG0Pts1-dEu-S2OOogKKy2OTH9DF_2uxOjjg8UtVJeC6EG0Ptf8g0M5',
'BDSFRCVID_BFESS': 'oekOJexroG0ZmSbfRm_PM5smG_weG7bTDYrEOwXPsp3LGJLVFakFEG0Pts1-dEu-S2OOogKKy2OTH9DF_2uxOjjg8UtVJeC6EG0Ptf8g0M5',
'H_BDCLCKID_SF': 'JnuJoK-htID3J4Dkbn0MjjoH-UnLqhJq0mOZ0l8Ktq3Phn3oh4jEW4COXHoe2xb-JJvH2fjmWIQahC8xbqJcDfKnWfvz2hcEK6c4KKJxtMKWeIJoLfFajbLihUJiBbFHBan7VlbIXKohJh7FM4tW3J0ZyxomtfQxtNRJ0DnjtnLhbCDRe5LKD6jM-l-X5to05TIX3b7Efb7qjp7_bJ7KhUbQWxcg5t5NaGOT2C5bal3rfn5jjP5xQhFXQtnfXpOe-n7rKhc1QqQHjpQHQT3m5bJLqfO4-CrgteO9Wb3cW-IK8UbSefOPBTD02-nBat-OQ6npaJ5nJq5nhMJmb67JDMr0exbH55uJfRkJoM5',
'H_BDCLCKID_SF_BFESS': 'JnuJoK-htID3J4Dkbn0MjjoH-UnLqhJq0mOZ0l8Ktq3Phn3oh4jEW4COXHoe2xb-JJvH2fjmWIQahC8xbqJcDfKnWfvz2hcEK6c4KKJxtMKWeIJoLfFajbLihUJiBbFHBan7VlbIXKohJh7FM4tW3J0ZyxomtfQxtNRJ0DnjtnLhbCDRe5LKD6jM-l-X5to05TIX3b7Efb7qjp7_bJ7KhUbQWxcg5t5NaGOT2C5bal3rfn5jjP5xQhFXQtnfXpOe-n7rKhc1QqQHjpQHQT3m5bJLqfO4-CrgteO9Wb3cW-IK8UbSefOPBTD02-nBat-OQ6npaJ5nJq5nhMJmb67JDMr0exbH55uJfRkJoM5',
'Hm_lvt_64ecd82404c51e03dc91cb9e8c025574': '1689660465',
'Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574': '1689661005',
'ab_sr': '1.0.1_M2JkNTMzZjFlMGRiYmI5NDJlZjkxYjRjMjYwMmExODcxMDE5YjAzZTIyNDVkMTMzNDM4MDFjOTQ5ZmI0Mjc0ZjFlMzJjY2QwZjJjZTE2ZmQ1MmFiMmU2MDE5NDU1MTYwMTNhOTc3NzFiNjhkMGEwZGUxZWVhMTkyMjY2NTRhNDZlODBmMjI3ZWZmMzhkYjU0ZjFhMGU1ZjM5M2I4YzRhZQ==',
}
headers = {
'Accept': '*/*',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Acs-Token': '1689661306271_1689661509977_GIB+6GNJCXWsn1iQSSUjP7yYZjvNvje+x4o35fdQdq8hoXu2F1GYV6zV/biUyte8+hcwuqe/HU6FdvtbvH97O9XMqzTVnPKgE7klUQnCsrUeXvn/1HpZ1nv4p27uEUCPrpk5eVVFyrND3/x6r+TiAzciwELjsvw9V8YnSz0Rabf3tK0P7+4rX7fyQgM+w0cIl7iSvqqknfJAYG3rZt0vYL8tq1VmzxIq01rUbyBMvaUlRjS36zQtDDtPScFqoZ1bnaTyHOwJW1QK9eQTjJuyKi/wk2ASO4a/u6TS8nh0zlj0S4FxkND1CYSjNar5pn+vrwcuFfzR63vMxw+LDTgXOA4vyXuGz05kyWKJ6ADyJxK58KaILwdncCAoLFjfAlx419nAEINouK95CTYUnhq43bMxD8vqpev9tujSJSsqb9DB2vQvdf6GEBL4vjLLE1Oc2RKRX+JBQXTto0lMDkq7MmrZ93kuWHQMQ5CqEkjjPujJYo9cuPH6JnbyV800tkt5',
'Connection': 'keep-alive',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Origin': 'https://fanyi.baidu.com',
'Referer': 'https://fanyi.baidu.com/?aldtype=16047',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest',
'sec-ch-ua': '"Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
}
params = (
('from', 'zh'),
('to', 'en'),
)
query = '你是狗'
ext = execjs.compile(open('./百度fanyi0.js','r',encoding='utf-8').read()).call('maji123',query)
data = {
'from': 'zh',
'to': 'en',
'query': query,
'transtype': 'realtime',
'simple_means_flag': '3',
'sign': ext,
'token': 'fb322830f10e2534a92d4d32ac718da8',
'domain': 'common',
'ts': '1689661509964'
}
response = requests.post('https://fanyi.baidu.com/v2transapi', headers=headers, params=params, cookies=cookies, data=data).text
print(response)
#NB. Original query string below. It seems impossible to parse and
#reproduce query strings 100% accurately so the one below is given
#in case the reproduced version is not "correct".
# response = requests.post('https://fanyi.baidu.com/v2transapi?from=zh&to=en', headers=headers, cookies=cookies, data=data)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构