有一个语言列表,但我无法找到动态获取API的API调用。 https://cloud.google.com/speech-to-text/docs/languages
答案 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>
内部。