我一直在寻找一种通过查询某种 API 来获取任何给定单词的发音的方法。由于维基词典可以方便地查找单词的发音,我试图使用他们的 API,但我如何获得特定单词的发音?
似乎他们的 API 只允许获取整个 Wiki 文章。
我一直在寻找一种通过查询某种 API 来获取任何给定单词的发音的方法。由于维基词典可以方便地查找单词的发音,我试图使用他们的 API,但我如何获得特定单词的发音?
似乎他们的 API 只允许获取整个 Wiki 文章。
维基词典没有自己的 API。MediaWiki,运行维基词典的软件确实有一个 API,但它完全不知道维基词典的结构和内容。
您可以做的最好的事情是使用MediaWiki API找到您想要的单词的 wiki 页面,然后查看目录。如果目录有一个您想要的语言的语言部分并且其中有一个Pronunciation部分,那么使用另一个 API 调用来获取wikitext您必须自己解析的那个部分。由于维基词典在不断发展,它可能会在不同的词上使用或不使用不同的模板。
维基词典和MediaWiki API也有邮件列表。
您可以在维基词典 dbpedia上构建,向他们的 SPARQL 端点发送如下所示的 SPARQL 查询:
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX wt:<http://wiktionary.dbpedia.org/terms/>
SELECT DISTINCT ?spell ?pronounce
WHERE {
?spell rdfs:label "work"@en ;
wt:hasLangUsage ?use .
?use dc:language wt:English ;
wt:hasPronunciation ?pronounce .
}
在这种情况下,“work”是您要查找拼写的单词。
编辑:
一个类似的项目是dbnary,它更活跃并且提供更可靠的结果。您可以将SPARQL 端点与以下查询一起使用:
SELECT DISTINCT ?pronun
WHERE {
?form lemon:writtenRep "work"@en ;
lexinfo:pronunciation ?pronun .
}
这是我为类似情况所做的。
pathinfo在 PHP 中使用该函数。pathinfo 的官方文档应该是一个好的开始。或者你可以试试“http://api.forvo.com/demo”。看起来很有希望。
我不会给你完整的答案!因为它不会再有趣了。我希望它有所帮助。