美文网首页
NodeJS调用谷歌翻译

NodeJS调用谷歌翻译

作者: 野生DBNull | 来源:发表于2020-06-11 20:28 被阅读0次

首先要生成 Google的TK
TK需要根据TKK去生成,这玩意貌似是防爬虫的

这个TKK可以用一段时间,但是不保证这可以一直用.
这个值可以在谷歌翻译官网找到。

image.png
const _TKK = '442182.965842172'; // 这玩意是从谷歌官网爬下来的
const _URL =
  'https://translate.google.cn/translate_a/single?client=webapp&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=sos&dt=ss&dt=t&otf=1&ssel=3&tsel=3&xid=45662847&kc=1';
const coding = function (a, b) {
  for (var d = 0; d < b.length - 2; d += 3) {
    var c = b.charAt(d + 2),
      c = 'a' <= c ? c.charCodeAt(0) - 87 : Number(c),
      c = '+' == b.charAt(d + 1) ? a >>> c : a << c;
    a = '+' == b.charAt(d) ? (a + c) & 4294967295 : a ^ c;
  }
  return a;
};
const getGoogleTK = function (a, TKK = _TKK ) {
  for (var e = TKK.split('.'), h = Number(e[0]) || 0, g = [], d = 0, f = 0; f < a.length; f++) {
    var c = a.charCodeAt(f);
    128 > c
      ? (g[d++] = c)
      : (2048 > c
          ? (g[d++] = (c >> 6) | 192)
          : (55296 == (c & 64512) && f + 1 < a.length && 56320 == (a.charCodeAt(f + 1) & 64512)
              ? ((c = 65536 + ((c & 1023) << 10) + (a.charCodeAt(++f) & 1023)), (g[d++] = (c >> 18) | 240), (g[d++] = ((c >> 12) & 63) | 128))
              : (g[d++] = (c >> 12) | 224),
            (g[d++] = ((c >> 6) & 63) | 128)),
        (g[d++] = (c & 63) | 128));
  }
  a = h;
  for (d = 0; d < g.length; d++) (a += g[d]), (a = coding(a, '+-a^+6'));
  a = coding(a, '+-3^+b+-f');
  a ^= Number(e[1]) || 0;
  0 > a && (a = (a & 2147483647) + 2147483648);
  a %= 1e6;
  return a.toString() + '.' + (a ^ h);
};

const googleTr = (text) => {
  const tk = getGoogleTK(text);
  const api = `${_URL}&tk=${tk}&q=${encodeURI(text)}`;
  return new Promise((resolve, reject) => {
    request.get(api, {}, (error, response, body) => {
      const bodyObj = JSON.parse(body);
      resolve(bodyObj[0][0][0]);
    });
  });
};

然后直接调用 googleTr 就可以对中文进行翻译,其他语言转换,直接F12抓一个包,修改请求的参数就完事了。

相关文章

  • NodeJS调用谷歌翻译

    首先要生成 Google的TKTK需要根据TKK去生成,这玩意貌似是防爬虫的 这个TKK可以用一段时间,但是不保证...

  • 调用谷歌翻译API

    在平时使用谷歌翻译的过程中,经常会遇到需要批量翻译大量文本的情景,这种时候需要调用谷歌翻译的API 首先可以使用p...

  • python调用谷歌翻译

  • python谷歌翻译

    Python调用谷歌翻译API实现文本翻译 - 完美代码 (perfcode.com)[https://www.p...

  • 调用翻译接口翻译词条

    调用谷歌翻译接口方式 谷歌翻译的API从2011年12月1号起是一项收费的服务了, 通过上网查询资料, 整理了一套...

  • 利用python调用谷歌翻译API

    废话少说 从速卖通抓取了一些评论想进行一些简单的文本分析,但是因为速卖通是一个跨境电商平台,上边的评论基本都是小语...

  • python免费调用谷歌翻译接口

    本人有三种调用谷歌翻译接口的方法,喜欢哪种用哪种 方法一:最简单 安装 pip install google_tr...

  • 2018-05-10

    利用谷歌翻译API实现谷歌翻译函数:

  • 免费调用谷歌翻译,以及谷歌tk值破解

    想在入职之前做一个小程序来玩一下,所以要抓住最后的尾巴呀!!!!!!目前构思的小程序的功能有:翻译、随机获取一些歌...

  • python让程序发出声音

    有道翻译 调用有道翻译的接口(用谷歌浏览器打开有道翻译-开发者-开发者工具-查找接口)话不多说上代码 这几行代码就...

网友评论

      本文标题:NodeJS调用谷歌翻译

      本文链接:https://www.haomeiwen.com/subject/dwsitktx.html