我一直在寻找一种通过查询某种 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”。看起来很有希望。
我不会给你完整的答案!因为它不会再有趣了。我希望它有所帮助。