9

我一直在寻找一种通过查询某种 API 来获取任何给定单词的发音的方法。由于维基词典可以方便地查找单词的发音,我试图使用他们的 API,但我如何获得特定单词的发音?

似乎他们的 API 只允许获取整个 Wiki 文章。

4

3 回答 3

6

维基词典没有自己的 API。MediaWiki,运行维基词典的软件确实有一个 API,但它完全不知道维基词典的结构和内容。

您可以做的最好的事情是使用MediaWiki API找到您想要的单词的 wiki 页面,然后查看目录。如果目录有一个您想要的语言的语言部分并且其中有一个Pronunciation部分,那么使用另一个 API 调用来获取wikitext您必须自己解析的那个部分。由于维基词典在不断发展,它可能会在不同的词上使用或不使用不同的模板。

维基词典MediaWiki API也有邮件列表。

于 2011-04-19T00:48:19.307 回答
4

您可以在维基词典 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 .
}
于 2012-09-27T20:17:22.787 回答
2

这是我为类似情况所做的。

  1. 访问使用 PHP 抓取链接。它将教您如何使用 PHP 抓取链接。请不要复制和粘贴,而是尝试学习它。
  2. 现在我们有了链接,我们需要将音频 (*.ogg) 与普通链接分开。我们需要pathinfo在 PHP 中使用该函数。pathinfo 的官方文档应该是一个好的开始。
  3. 从结果中创建一个 XML。
  4. 使用 Ajax 或任何其他首选方式交付内容。

或者你可以试试“http://api.forvo.com/demo”。看起来很有希望。

我不会给你完整的答案!因为它不会再有趣了。我希望它有所帮助。

于 2011-03-21T13:38:55.293 回答