xxx翻译

import execjs
import requests


def get_sign(key):
    function = execjs.compile("""
    function n(r, o) {
            for (var t = 0; t < o.length - 2; t += 3) {
                var a = o.charAt(t + 2);
                a = a >= "a" ? a.charCodeAt(0) - 87 : Number(a),
                a = "+" === o.charAt(t + 1) ? r >>> a : r << a,
                r = "+" === o.charAt(t) ? r + a & 4294967295 : r ^ a
            }
            return r
        }
    function e(r) {
            var i = "320305.131321201"
            var u = '"320305.131321201"'
              , l = 'gtk'
            u = null !== i ? i : (i = window[l] || "") || "";
            for (var d = u.split("."), m = Number(d[0]) || 0, s = Number(d[1]) || 0, S = [], c = 0, v = 0; v < r.length; v++) {
                var A = r.charCodeAt(v);
                128 > A ? S[c++] = A : (2048 > A ? S[c++] = A >> 6 | 192 : (55296 === (64512 & A) && v + 1 < r.length && 56320 === (64512 & r.charCodeAt(v + 1)) ? (A = 65536 + ((1023 & A) << 10) + (1023 & r.charCodeAt(++v)),
                S[c++] = A >> 18 | 240,
                S[c++] = A >> 12 & 63 | 128) : S[c++] = A >> 12 | 224,
                S[c++] = A >> 6 & 63 | 128),
                S[c++] = 63 & A | 128)
            }
            for (var p = m, F = "" + String.fromCharCode(43) + String.fromCharCode(45) + String.fromCharCode(97) + ("" + String.fromCharCode(94) + String.fromCharCode(43) + String.fromCharCode(54)), D = "" + String.fromCharCode(43) + String.fromCharCode(45) + String.fromCharCode(51) + ("" + String.fromCharCode(94) + String.fromCharCode(43) + String.fromCharCode(98)) + ("" + String.fromCharCode(43) + String.fromCharCode(45) + String.fromCharCode(102)), b = 0; b < S.length; b++)
                p += S[b],
                p = n(p, F);
            return p = n(p, D),
            p ^= s,
            0 > p && (p = (2147483647 & p) + 2147483648),
            p %= 1e6,
            p.toString() + "." + (p ^ m)
        }
    """)
    return function.call('e', key)


def translate(key):
    cookies = {
        'PSTM': '1625828573',
        'BAIDUID': '8067DC02DA895FAB9666B8BC2E740DD7:FG=1',
        'BIDUPSID': 'C06F2DD600AB8C0057BC078DBFA18F48',
        '__yjs_duid': '1_89b0dd41bd631e7e450ccb842d9b047a1626059702353',
        'MCITY': '-146^%^3A',
        'H_WISE_SIDS': '110085_114551_127969_164870_175756_176120_176677_177414_177985_178327_178606_179346_179457_180120_180407_181106_181165_181218_181400_181610_181673_181713_181825_182026_182179_182200_182245_182273_182320_182331_182382_182427_182485_182531_182576_182586_182612_182617_182901_183002_183012_183236_183309_183329_183431_183530_183548_183750_183870_183955_184011_184463_184524',
        'REALTIME_TRANS_SWITCH': '1',
        'FANYI_WORD_SWITCH': '1',
        'SOUND_SPD_SWITCH': '1',
        'HISTORY_SWITCH': '1',
        'SOUND_PREFER_SWITCH': '1',
        'BAIDUID_BFESS': '45CF446C3C3A6A8D5B37FB7BD1BFDDCF:FG=1',
        'BDORZ': 'B490B5EBF6F3CD402E515D22BCDA1598',
        'BDUSS': 'm5rb0llblJUU3lHcDdZeEp6eGM3MkJHOVF4S2tHUGJ3VXFoemRFRTZieVBCRjFoRVFBQUFBJCQAAAAAAAAAAAEAAAD4OBHOcXE5NDk2MjgzMjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI93NWGPdzVhN',
        'BDUSS_BFESS': 'm5rb0llblJUU3lHcDdZeEp6eGM3MkJHOVF4S2tHUGJ3VXFoemRFRTZieVBCRjFoRVFBQUFBJCQAAAAAAAAAAAEAAAD4OBHOcXE5NDk2MjgzMjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI93NWGPdzVhN',
        'H_PS_PSSID': '34436_34378_34497_31254_34004_34525_34092_34106_26350_34420_34470',
        'delPer': '0',
        'PSINO': '7',
        'BA_HECTOR': '0g0h0l8085842half11gjaun30r',
        'BCLID': '7755542877272454450',
        'BDSFRCVID': '_DFOJexroG0YyvRHbqhC8nA5-LweG7bTDYLEOwXPsp3LGJLVJeC6EG0Pts1-dEu-EHtdogKKKmOTH18F_2uxOjjg8UtVJeC6EG0Ptf8g0M5',
        'H_BDCLCKID_SF': 'tRAOoC8ytDvjDb7GbKTD-tFO5eT22-usaHIL2hcH0KLKVl_zLxncyKrXDp8O2f_H0RvxXCj9JMb1MRjv2l3M-j07hNoKa-P82JTbWq5TtUtWJKnTDMRhqqJXqqjyKMniWKj9-pPhfpQrh459XP68bTkA5bjZKxtq3mkjbPbDfn02eCKuDjRDKICV-frb-C62aKDs0xP2BhcqJ-ovQT3O0q_qy2FHKJIOaeCH54oOHRkafxbeWfvMXn-R0hbjJM7xWeJpaJ5nJq5nhMJmKIFbjP-zqto7-P3y523iab6vQpPabhQ3DRoWXPIqbN7P-p5Z5mAqKl0MLPbtbb0xXj_0DjPVKgTa54cbb4o2WbCQ5Roz8pcN2b5oQT8f0JQqBIrKMDLOWqD-0RChep-z0lOUWfA3XpJvQnJjt2JxaqRCWJ5TMl5jDh3MKToDb-otexQ7bIny0hvcWb6cShPleMjrDRLbXU6BK5vPbNcZ0l8K3l02V-bIe-t2XjQhDHRabK6aKC5bL6rJabC3fJP9XU6q2bDeQN3WQloBWPjDKP0yaqDKhbrOBUJ5-l0vWtvJWbbvLT7johRTWqR4OR5JjxonDh83KfcwKbbdHmT7LnbO5hvvOn6O3MAaeMKmDloOW-TB5bbPLUQF5l8-sq0x0bOte-bQXH_EJ6nK24oa3RTeb6rjDnCrDqOTXUI82h5y05OWLmJNaTCybxFWDlD4D-TcBU-y-RORXx7406T22xQpypQrsIbKy4oTjxL1Db3Jb4rw55vdsl5dbnboepvoyPcc3MvLe-jdJJQOBKQB0KnGbUQkeq8CQft20b0EeMtjW6LEtR3aQ5rtKRTffjrnhPF3BU0zXP6-hnjy3bRkX4Q4Wnoajh89hxLhqfAWbttf5q3RymJ42-39LPO2hpRjyxv4y4Ldj4oxJpOJ-bCL0p5aHl51fbbvbURvyPug3-ADqU5dtjTO2bc_5KnlfMQ_bf--QfbQ0hOhqP-jBRIE3-oJqCD5hD_x3D',
        'BCLID_BFESS': '7755542877272454450',
        'BDSFRCVID_BFESS': '_DFOJexroG0YyvRHbqhC8nA5-LweG7bTDYLEOwXPsp3LGJLVJeC6EG0Pts1-dEu-EHtdogKKKmOTH18F_2uxOjjg8UtVJeC6EG0Ptf8g0M5',
        'H_BDCLCKID_SF_BFESS': 'tRAOoC8ytDvjDb7GbKTD-tFO5eT22-usaHIL2hcH0KLKVl_zLxncyKrXDp8O2f_H0RvxXCj9JMb1MRjv2l3M-j07hNoKa-P82JTbWq5TtUtWJKnTDMRhqqJXqqjyKMniWKj9-pPhfpQrh459XP68bTkA5bjZKxtq3mkjbPbDfn02eCKuDjRDKICV-frb-C62aKDs0xP2BhcqJ-ovQT3O0q_qy2FHKJIOaeCH54oOHRkafxbeWfvMXn-R0hbjJM7xWeJpaJ5nJq5nhMJmKIFbjP-zqto7-P3y523iab6vQpPabhQ3DRoWXPIqbN7P-p5Z5mAqKl0MLPbtbb0xXj_0DjPVKgTa54cbb4o2WbCQ5Roz8pcN2b5oQT8f0JQqBIrKMDLOWqD-0RChep-z0lOUWfA3XpJvQnJjt2JxaqRCWJ5TMl5jDh3MKToDb-otexQ7bIny0hvcWb6cShPleMjrDRLbXU6BK5vPbNcZ0l8K3l02V-bIe-t2XjQhDHRabK6aKC5bL6rJabC3fJP9XU6q2bDeQN3WQloBWPjDKP0yaqDKhbrOBUJ5-l0vWtvJWbbvLT7johRTWqR4OR5JjxonDh83KfcwKbbdHmT7LnbO5hvvOn6O3MAaeMKmDloOW-TB5bbPLUQF5l8-sq0x0bOte-bQXH_EJ6nK24oa3RTeb6rjDnCrDqOTXUI82h5y05OWLmJNaTCybxFWDlD4D-TcBU-y-RORXx7406T22xQpypQrsIbKy4oTjxL1Db3Jb4rw55vdsl5dbnboepvoyPcc3MvLe-jdJJQOBKQB0KnGbUQkeq8CQft20b0EeMtjW6LEtR3aQ5rtKRTffjrnhPF3BU0zXP6-hnjy3bRkX4Q4Wnoajh89hxLhqfAWbttf5q3RymJ42-39LPO2hpRjyxv4y4Ldj4oxJpOJ-bCL0p5aHl51fbbvbURvyPug3-ADqU5dtjTO2bc_5KnlfMQ_bf--QfbQ0hOhqP-jBRIE3-oJqCD5hD_x3D',
        'Hm_lvt_64ecd82404c51e03dc91cb9e8c025574': '1630487890,1630894821',
        'Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574': '1630894821',
        '__yjs_st': '2_YmQ2YWNlZDMwMjlkNWZiNmY5ZDVhNGRjNDQyZDZlOGM3YzY5YjhjZDI1M2Q0MTFiZGQ4NWJlNzM1ZWUwMTgyYzdiODVlYmQ3OTBlY2RjZjZjZjA2YzQ5OWI1Mjk5N2UzZTE5YmE2NTk0MDA0NTlhY2RiYjQxN2NiYTQ5OGM5NGQ0OWQzYzk4NTQ5MDBhMzBjNDNiMTYxYmVmMDNiY2NjMzg1MTUxZmIyMjNjZDkzMGQyMmVmN2FkMTBiZjE4MDMzNDIyNWQ1YWExNzQyMDBkZjNlZDUzM2NhMjdjNDUxMDllYjIxMzE4NzVhZDVmOGJkNGUzNmVmZGU2NzNmYzE2NF83XzMwNjE2YWE3',
        'ab_sr': '1.0.1_NmI2Y2I0ZjY0NmQ5ZjBlZmYzYjIwY2ZmNTM3NWZkNGVlYWJhMjYyY2IzNGIxM2RiZjNjYWIyZTY0NjM5NjdjOWQ4NTlhYzkxZjA5YzdmYzM0NWZjMTg4ODFlODZhNDAwNDY1Nzg1MjJkZjk2M2E1Mjg2OGRmMjY3ODk4NDA1ZTYzM2FjNGI2ZGM0ZWE1MjQ5NWQ2Y2RlOTMyZDE5YjNkOWQyYjViNzVmYjc2ODAzZjI4ZjRjOTY3YWI4NWE4NDI2',
    }

    headers = {
        'Connection': 'keep-alive',
        'sec-ch-ua': '^\\^Google',
        'Accept': '*/*',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'X-Requested-With': 'XMLHttpRequest',
        'sec-ch-ua-mobile': '?0',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36',
        'sec-ch-ua-platform': '^\\^Windows^\\^',
        'Origin': 'https://fanyi.baidu.com',
        'Sec-Fetch-Site': 'same-origin',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Dest': 'empty',
        'Referer': 'https://fanyi.baidu.com/?aldtype=16047',
        'Accept-Language': 'zh-CN,zh;q=0.9',
    }

    params = (
        ('from', 'en'),
        ('to', 'zh'),
    )

    data = {
        'from': 'en',
        'to': 'zh',
        'query': 'cat',
        'transtype': 'enter',
        'simple_means_flag': '3',
        'sign': '661701.982004',
        'token': '11e2ac31e9a6b148dbc4367bb89f4329',
        'domain': 'common'
    }
    data['query'] = key
    data['sign'] = get_sign(key)
    response = requests.post('https://fanyi.baidu.com/v2transapi', headers=headers, params=params, cookies=cookies,
                             data=data)
    return response.json().get('trans_result')


if __name__ == '__main__':
    print(translate('test'))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值