如何使用维基百科API如果存在?

我试图找出是否有维基百科API(我认为它是与mediawiki有关?)。

如果是这样,我想知道如何告诉维基百科给我一个关于纽约yankees的文章。

这个例子的RESTurl是什么?

关于这个问题的所有文件似乎相当复杂。

您确实需要花费一些时间阅读文档,因为这花了我一些时间来查看并单击链接来修复它。 :/但出于同情我会给你一个链接,也许你可以学习使用。

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=New_York_Yankees&rvprop=timestamp|user|comment|content

这是你将要获得的variables。 你最好的select是知道你将要访问的页面,并将Wikipedia链接部分replace为标题,即:

http://en.wikipedia.org/wiki/New_York_Yankees [参考Wiki后的部分]

– >

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=New_York_Yankees&rvprop=timestamp|user|comment|content

[把它放在GET请求的标题variables中。

上面的URL可以通过调整来获得不同的部分,你做或不想要的。 所以阅读文档:)

这里的答案帮助我find了一个解决scheme,但是我在这个过程中发现了更多的信息,这对于那些发现这个问题的人来说可能是有利的。 我想大多数人只是想使用API​​来快速从页面上获取内容。 这是我如何做到这一点:

使用修订:

//working url: http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Threadless&rvprop=content&format=json&rvsection=0&rvparse=1 //Explanation //Base Url: http://en.wikipedia.org/w/api.php?action=query //tell it to get revisions: &prop=revisions //define page titles separated by pipes. In the example i used t-shirt company threadless &titles=whatever|the|title|is //specify that we want the page content &rvprop=content //I want my data in JSON, default is XML &format=json //lets you choose which section you want. 0 is the first one. &rvsection=0 //tell wikipedia to parse it into html for you &rvparse=1 

使用提取(更好/更容易我在做什么)

 //working url: http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=Threadless&format=json&exintro=1 //only explaining new parameters //instead of revisions, we'll set prop=extracts &prop=extracts //if we just want the intro, we can use exintro. Otherwise it shows all sections &exintro=1 

所有的信息都需要通过API文档来阅读,但是我希望这些例子能够帮助大多数来这里快速修复的人员。

请参阅http://www.mediawiki.org/wiki/API

具体而言,对于英文维基百科,API位于http://en.wikipedia.org/w/api.php

https://en.wikipedia.org/wiki/Special:ApiSandbox查看ApiSandbox这是一个可以轻松查询API的Web前端。; 点击几下即可制作url并显示API结果。

这是对所有维基百科语言启用的MediaWiki的扩展。 https://www.mediawiki.org/wiki/Extension:ApiSandbox

如果你想从维基百科提取结构化数据,你可以考虑使用DbPedia http://dbpedia.org/

它提供了使用SPARQL使用给定标准查询数据的方法,并从parsing的Wikipedia信息框模板返回数据

有一些SPARQL库可用于多个平台,使查询更容易

如果你想从维基百科提取结构化的数据,你也可以尝试http://www.wikidata.org/wiki/Wikidata:Main_Page

下面是一个工作示例,将Wikipedias New York Yankees页面的第一句打印到您的Web浏览器控制台:

 <!DOCTYPE html> </html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> </head> <body> <script> var wikiUrl = "http://en.wikipedia.org/w/api.php?action=opensearch&search=New_York_Yankees&format=json&callback=wikiCallbackFunction"; $.ajax(wikiUrl, { dataType: "jsonp", success: function( wikiResponse ) { console.log( wikiResponse[2][0] ); } }); </script> </body> </html> 

http://en.wikipedia.org/w/api.php是你的url的端点 。 您可以访问http://www.mediawiki.org/wiki/API:Main_page查看如何构build您的url

我使用jsonp作为dataType来允许跨站点请求。 更多可以在这里find: http : //www.mediawiki.org/wiki/API : Cross-site_requests

最后但并非最不重要的一点,请确保引用Jquery.ajax()API: http ://api.jquery.com/jquery.ajax/

Wikiparsing器将Wikipedia转储转换为XML。 这也是相当快的。 然后,您可以使用任何XML处理工具来处理parsing的维基百科文章中的数据。