java - 维基百科文章的第一句话和Java

标签 java api text wikipedia

我必须找到超过 200 个单词的定义。我想使用维基百科从列表中搜索标题为给定单词的文章,然后提取其定义的原始文本(文章的第一句话)。

事实上,在我的项目中,我有一个包含单词(简单和组合)的 Jlist。我想使用维基百科为每个单词找到一个定义(我选择这个百科全书是因为这些单词是从专门的语料库中提取的)。

我的问题是:如何从维基百科转储中检索定义?我找到了 JWPL,但没有找到可以帮助我使用它的示例。

另一个问题是:如果我有离线维基百科(使用 WikiTaxi),我如何使用 Java 从中提取定义?

最佳答案

维基百科已获得创意通用许可(请参阅其terms of use以了解允许的内容)

维基百科确实已经有一个 API,它可能比开发自己的 API 更适合您的目的。有关 API 的更多信息 here .

另一件值得考虑的事情是,如果您想要定义,也许您最好使用 wiktionaryWiktionary 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/

相关文章:

java - Android ViewPager 类动画

java - Gradle Eclipse 插件

angular - 在 nginx 上托管静态 angular2 应用程序并将 http 请求代理到后端 api

c++ - 在 C++ API 中支持 Z3 的浮点理论

c++ - 读取字符后跟数字c++

text - 如何使用 selenium IDE 验证是否存在任何文本

ruby - 解析具有不同分隔符的文本 - 带分组

java.lang.NoClassDefFoundError : Failed resolution of: Lcom/google/firebase/FirebaseApp$IdTokenListener;

Java - 内部化问题

json - 为什么 Twitter API 返回错误的推文 ID?