如何使用维基百科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的维基百科文章中的数据。