我想知道:是否有API或查询接口可以访问维基百科的数据?
Mediawiki是维基百科使用的wiki平台,并且拥有基于HTTP的API。请参见MediaWiki API。
例如,要获取标题为stackoverflow的页面,可以调用:
http://en.wikipedia.org/w/api.php?action=query&titles=Stackoverflow
API中有一些(不完整的)Java包装器 - 有关更多详细信息,请参见API页面的查看客户端代码 - 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库列表。 https://www.mediawiki.org/wiki/API:Client_code#Java
但是由于一些限制,使用其中一些库后,我们尝试直接从Mediawiki调用REST服务。
Wikipedia wiki = new Wikipedia();
List<Document> results = wiki.search("apple");
for(Document doc: results) {
System.out.println(doc);
}