Open avcode8 opened 7 years ago
我搜索a^b,发现tk的生成函数在translate_m.js文件中,以后变化的话你可以找到。tk生成函数如下:
var ou=function(a){return function(){return a}},
pu=function(a,b)
{for(var c=0;c<b.length-2;c+=3)
{var d=b.charAt(c+2);d="a"<=d?d.charCodeAt(0)-87:Number(d);
d="+"==b.charAt(c+1)?a>>>d:a<<d;a="+"==b.charAt(c)?a+d&4294967295:a^d}
return a},
qu=null,
ru=function(a)
{if(null!==qu)var b=qu;else{b=ou(String.fromCharCode(84));
var c=ou(String.fromCharCode(75));
b=[b(),b()];b[1]=c();
b=("")||""}
var d=ou(String.fromCharCode(116));
c=ou(String.fromCharCode(107));
d=[d(),d()];
d[1]=c();
c="&"+d.join("")+"=";
d=b.split(".");
b=Number(d[0])||0;
for(var e=[],f=0,g=0;g<a.length;g++)
{var h=a.charCodeAt(g);
128>h?e[f++]=h:(2048>h?e[f++]=h>>6|192:(55296==(h&64512)&&g+1<a.length&&56320==(a.charCodeAt(g+1)&64512)?(h=65536+((h&1023)<<10)+(a.charCodeAt(++g)&1023),
e[f++]=h>>18|240,
e[f++]=h>>12&63|128):e[f++]=h>>12|224,
e[f++]=h>>6&63|128),
e[f++]=h&63|128)}
a=b;
for(f=0;f<e.length;f++)a+=e[f],
a=pu(a,"+-a^+6");
a=pu(a,"+-3^+b+-f");
a^=Number(d[1])||0;0>a&&(a=(a&2147483647)+2147483648);
a%=1E6;
return c+(a.toString()+"."+(a^b))};
参考python 爬虫获取谷歌翻译结果 ,英译中亲测可用:
url = """http://translate.google.cn/translate_a/single?client=webapp&sl=en&tl=zh-CN&hl=en&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=sos&dt=ss&dt=t&source=bh&ssel=0&tsel=0&kc=1&tk="""+\
tk +'&q='+urllib.parse.quote(text1)
代码 撩剧呗 https://translate.google.cn/translate_a/single?client=t&sl=zh-CN&tl=en&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&source=btn&ssel=3&tsel=3&kc=1&tk=959104.562932&q=%E6%92%A9%E5%89%A7%E5%91%97
浏览器 https://translate.google.cn/translate_a/single?client=t&sl=zh-CN&tl=en&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&pc=1&otf=1&ssel=3&tsel=3&kc=1&tk=400080.17000&q=%E6%92%A9%E5%89%A7%E5%91%97