我想知道:是否有任何API或查询接口可以让我访问维基百科数据?
Mediawiki,维基百科使用的维基平台确实有一个基于 HTTP 的 API。请参阅MediaWiki API。
例如,要获取标题为 stackoverflow 的页面,您可以调用
http://en.wikipedia.org/w/api.php?action=query&titles=Stackoverflow
API 周围有一些(不完整的)Java 包装器 - 请参阅 API 页面的客户端代码 - Java 部分以了解更多详细信息。
要与 Java 一起使用,请尝试 http://code.google.com/p/wiki-java。虽然只是一堂课,但是很棒的一堂课!
您可以使用Jwiki获取维基百科数据 示例:
Jwiki jwiki = new Jwiki("elon musk");
System.out.println("Title :"+jwiki.getDisplayTitle()); //get title
System.out.println("Text : "+jwiki.getExtractText()); //get summary text
System.out.println("Image : "+jwiki.getImageURL()); //get image URL
我也有同样的问题,最接近开箱即用的解决方案是 bliki,托管于 http://code.google.com/p/gwtwiki/。 我还在 Integrating Stuff 上写了一篇文章来帮助您开始使用它:http://www.integratingstuff.com/2012/04/06/hook-into-wikipedia-using-java-and-the-mediawiki-api /
有一个Java库列表可以帮助您通过java代码连接wiki。 https://www.mediawiki.org/wiki/API:Client_code#Java
但是在使用其中一些之后,由于其局限性,我们尝试直接从mediawiki调用REST服务。
您可以使用wikipedia4j来搜索这样的文档
Wikipedia wiki = new Wikipedia();
List<Document> results = wiki.search("apple");
for(Document doc: results) {
System.out.println(doc);
}