【问题标题】:Is there an API for language support for google speech-to-text?是否有用于 google 语音到文本的语言支持的 API?
【发布时间】:2018-05-19 12:33:45
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    如果你想使用 Python,你可以阅读源代码:

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

    对于解析,我将使用 Python 库 pandas [1],语言在 <table></table> 中。

    【讨论】:

      【解决方案2】:

      这是我在 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 很有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-01
        • 2016-10-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多