Google 翻译如何获取 tk 参数值?

1.首先获取 TKK 参数,这个参数可以在 https://translate.google.com 网页获取,
src:TKK=eval('((function(){var a\x3d2089517129;var b\x3d1564585731;return 422642+\x27.\x27+(a+b)})())');

正则表达式:TKK=eval[('(]{4}function[(){]{3}var\sa\\x3d[0-9]{8,10};var\sb\\x3d[0-9]{8,10};return\s[0-9]{5,8}\+\\x27.\\x27\+[(a+b)})())')]{12};

a: a\\x3d(\d){8,10}

b: b\\x3d(\d){8,10}

c: return\s(\d){5,10}

去掉多余的字符即可

2.其次使用 查询字符串 和 TKK 做 hash 运算

参考链接:https://stackoverflow.com/questions/32053442/google-translate-tts-api-blocked

https://translate.google.com/translate_a/single?
client=t&
sl=en&      //source:源语言
tl=zh-CN&   //target:目标语言
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=0&
tsel=0&
kc=0&
tk=16915.405690&
q=my    //待翻译字符串

这里有一个免费的转接API Server ,帮你把需要做的都做了,只需调用它封装的 API 即可
https://github.com/guyrotem/google-translate-server

posted @ 2018-03-17 15:42  學海無涯  阅读(1760)  评论(0编辑  收藏  举报