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

chr*_*ris 62 api mediawiki wikipedia wikipedia-api mediawiki-api

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

如果是这样,我想知道如何告诉维基百科给我一篇关于纽约洋基队的文章.

这个例子的REST网址是什么?

关于这个主题的所有文档看起来都相当复杂.

Sha*_*sri 81

你真的需要花一些时间阅读文档,因为这花了我一点时间来查看并点击链接来修复它.:/但出于同情,我会为您提供一个可以学习使用的链接.

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

这是你想要的变量.您最好的选择是知道您将要访问的页面并将维基百科链接部分替换为标题,即:

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请求的标题变量中.

上面的URL可以通过调整来获取您执行或不需要的不同部分.所以阅读文档:)

  • 为实际示例+1,而不是仅仅转储链接(即使示例也只是一个链接... :) (19认同)
  • 一个神奇的地方开始是维基百科沙箱.它可以帮助您格式化您的请求/查询:http://en.wikipedia.org/wiki/Special:ApiSandbox (6认同)
  • 如果我不知道具体的页面怎么办?如果我想搜索乐队Iron Maiden?页面可能是"铁娘子","铁娘子","铁娘子".我该如何搜索? (3认同)

And*_*off 66

这里的答案帮助我找到了解决方案,但我在这个过程中发现了更多信息,这对于发现这个问题的其他人来说可能是有利的.我认为大多数人只是想使用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
Run Code Online (Sandbox Code Playgroud)

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

//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
Run Code Online (Sandbox Code Playgroud)

如上所述,所有信息都需要通过API文档阅读,但我希望这些示例能够帮助大多数来这里快速解决问题的人.


drd*_*man 13

http://www.mediawiki.org/wiki/API

具体来说,对于英语维基百科,API位于http://en.wikipedia.org/w/api.php

  • 是的,我读完之后无法弄清楚如何做我的榜样.有任何想法吗? (3认同)
  • 不,我真的不能想出那个文件了.我不知道如何使用该API获取特定的页面数据. (3认同)
  • 你实际上不能.要获得原始文章来源,您应该以这种方式访问​​文章:http://www.mediawiki.org/w/index.php?title = API&action =raw (3认同)

Ant*_*sso 9

请访问https://en.wikipedia.org/wiki/Special:ApiSandbox查看ApiSandbox 这是一个轻松查询API的Web前端.点击几下即可为您制作网址并向您显示API结果.

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


Mak*_*nko 8

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

它提供了使用SPARQL使用给定条件查询数据并从已解析的Wikipedia信息框模板返回数据的方法

有一些SPARQL库可用于多个平台,以便于查询