是否有用于谷歌语音到文本语言支持的API?

时间:2018-05-19 12:33:45

标签: google-cloud-platform speech-to-text

有一个语言列表,但我无法找到动态获取API的API调用。 https://cloud.google.com/speech-to-text/docs/languages

2 个答案:

答案 0 :(得分:1)

这是我使用服务器使用Javascript进行的操作。

我只想提取英语代码,所以以后的某些步骤可能与您想要的不同,但是下面是我的JS,然后是php,因为您无法从JS中的另一个网站中解析客户端

JavaScript代码(兑现承诺):

const languageCodes = await (async () => {
  let phpFetched = await fetch('grab_languages.php');
  phpFetched = await phpFetched.text();
  let htmlDoc = (new DOMParser()).parseFromString(phpFetched, "text/html");
 
  htmlDoc =  Array.from(htmlDoc
                        .querySelector('#lang-table-container')
                        .querySelectorAll('table tr'))
                  .slice(1)
                  .map(el => Array.from(el.querySelectorAll('td')))
                  .filter(children => children[2].innerHTML === 'Default' &&
                                      children[1].innerHTML.split('-')[0] === 'en')
                  .map(children => {
                    return {
                      code: children[1].innerHTML,
                      description: (/\(([^)]+)\)/).exec(children[0].innerHTML)[1],
                    };
                  })
                  .reduce((acc, curr) =>
                    ({ ...acc, [curr.code]: curr.description }), {});

  return htmlDoc
})();

Php代码(我将文件称为grab_languages.php

<?php
    $url = "https://cloud.google.com/speech-to-text/docs/languages";
    $ch = curl_init( $url );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    $response = curl_exec($ch);
    curl_close($ch);
    echo $response;
    exit;
?>

我应该注意,我的代码是受这些启发的:

,如果您对另一个Python实现感兴趣,您可能还会发现this很有帮助

答案 1 :(得分:0)

没有用于执行此操作的API。无论哪种方式,您都可以使用代码列出可用的语言,方法是阅读您发送的链接的源代码,然后解析它以列出它们。

如果要使用Python,可以使用以下命令阅读源代码:

import requests    
SourceCode=requests.get('https://cloud.google.com/speech-to-text/docs/languages').text

对于解析,我将使用Python库 pandas [1],这些语言位于<table></table>内部。