日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python百度翻译包_python百度翻译移动端

發布時間:2025/3/19 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python百度翻译包_python百度翻译移动端 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

百度翻譯返回997錯誤,經過分析查詢網絡其他博客的示例,解決方法:如何計算sign

import requests

import execjs

import json

class MobileBaiduTranslate:

def __init__(self):

self.url = "https://fanyi.baidu.com/basetrans"

self.headers = {

"Cookie": "找到你自己的COOKIE",

"User-Agent": "找到你移動端的ua",

}

self.data = {

"from": "zh",

"to": "en",

"query": None,

"sign": None,

"token": "找到你自己的token"

}

def get_baidu_sign(self):

with open("baidusign.js") as f:

jsData = f.read()

sign = execjs.compile(jsData).call("a", self.input)

return sign

def run(self):

self.input = input("請輸入要翻譯的內容:")

self.get_baidu_sign()

self.data["query"] = self.input

self.data["sign"] = self.get_baidu_sign()

print(self.data)

response = requests.post(url=self.url, data=self.data, headers=self.headers)

#中文輸出

# print(response.content.decode('unicode-escape'))

self.result_strs = response.content.decode()

def get_translate_result(self):

result_dict = json.loads(self.result_strs)

if 'trans' in result_dict:

result = result_dict['trans'][0]['dst'] if len( result_dict['trans']) > 0 else None

print("翻譯結果為:")

print(result)

else:

print("請輸入內容再進行翻譯")

if __name__ == '__main__':

while True:

baidutranlate = BaiDuTranslateWeb()

baidutranlate.run()

baidutranlate.get_translate_result()

baidusign.js

var i = "320305.131321201"

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 a(r) {

var t = r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g);

if (null === t) {

var a = r.length;

a > 30 && (r = "" + r.substr(0, 10) + r.substr(Math.floor(a / 2) - 5, 10) + r.substr(-10, 10))

} else {

for (var C = r.split(/[\uD800-\uDBFF][\uDC00-\uDFFF]/), h = 0, f = C.length, u = []; f > h; h++) "" !== C[h] && u.push.apply(u, e(C[h].split(""))), h !== f - 1 && u.push(t[h]);

var g = u.length;

g > 30 && (r = u.slice(0, 10).join("") + u.slice(Math.floor(g / 2) - 5, Math.floor(g / 2) + 5).join("") + u.slice(-10).join(""))

}

var l = void 0, d = "" + String.fromCharCode(103) + String.fromCharCode(116) + String.fromCharCode(107);

l = null !== i ? i : (i = o.common[d] || "") || "";

for (var m = l.split("."), S = Number(m[0]) || 0, s = Number(m[1]) || 0, c = [], v = 0, F = 0; F < r.length; F++) {

var p = r.charCodeAt(F);

128 > p ? c[v++] = p : (2048 > p ? c[v++] = p >> 6 | 192 : (55296 === (64512 & p) && F + 1 < r.length && 56320 === (64512 & r.charCodeAt(F + 1)) ? (p = 65536 + ((1023 & p) << 10) + (1023 & r.charCodeAt(++F)), c[v++] = p >> 18 | 240, c[v++] = p >> 12 & 63 | 128) : c[v++] = p >> 12 | 224, c[v++] = p >> 6 & 63 | 128), c[v++] = 63 & p | 128)

}

for (var w = S, A = "" + String.fromCharCode(43) + String.fromCharCode(45) + String.fromCharCode(97) + ("" + String.fromCharCode(94) + String.fromCharCode(43) + String.fromCharCode(54)), b = "" + 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)), D = 0; D < c.length; D++) w += c[D], w = n(w, A);

return w = n(w, b), w ^= s, 0 > w && (w = (2147483647 & w) + 2147483648), w %= 1e6, w.toString() + "." + (w ^ S)

}

總結

以上是生活随笔為你收集整理的python百度翻译包_python百度翻译移动端的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。