我必须找到超过 200 个单词的定义。我想使用维基百科从列表中搜索标题为给定单词的文章,然后提取其定义的原始文本(文章的第一句话)。
事实上,在我的项目中,我有一个包含单词(简单和组合)的 Jlist。我想使用维基百科为每个单词找到一个定义(我选择这个百科全书是因为这些单词是从专门的语料库中提取的)。
我的问题是:如何从维基百科转储中检索定义?我找到了 JWPL,但没有找到可以帮助我使用它的示例。
另一个问题是:如果我有离线维基百科(使用 WikiTaxi),我如何使用 Java 从中提取定义?
最佳答案
维基百科已获得创意通用许可(请参阅其terms of use以了解允许的内容)
维基百科确实已经有一个 API,它可能比开发自己的 API 更适合您的目的。有关 API 的更多信息 here .
另一件值得考虑的事情是,如果您想要定义,也许您最好使用 wiktionary ? Wiktionary also has their own API
这里是一个 API 调用示例,用于获取有关“堆栈溢出”的 wiki 文本
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=stack_overflow&rvprop=content
以下是从维基词典返回单词“stack”的示例查询:
http://en.wiktionary.org/w/api.php?action=query&prop=revisions&titles=stack&rvprop=content
您可能仍然需要解析输出,但它会为您提供您想要的...
如果您想进行快速而肮脏的屏幕抓取,它们的 URL 相当容易构建。该网址基本上是 http://en.wikipedia.org/wiki/
+ 一个经过净化的单词(例如用 _ 等替换空格)
现场创建的示例网址为 http://en.wikipedia.org/wiki/Stack_overflow这将直接带您进入维基百科上的 Stack Overflow 条目。
维基百科的正文内容从此评论开始<!-- bodycontent -->
并包含在具有此 id 的 div 中:mw-content-ltr
您可能正在寻找第一个 <p>
标签。
关于java - 维基百科文章的第一句话和Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8233772/