2014-04-17 96 views

回答

0

所有的MediaWiki页面标题都是唯一的,消歧是由编辑人员手动处理的,因此无法确定是否有多个同名的人。你可以,但是,检查网页是一个消歧义页,如你的例子:

https://en.wikipedia.org/w/api.php?action=query&titles=Rico_Rodriguez&prop=pageprops 

回报disambiguationpageprops下。

为了获得链接的页面,您将不得不解析wiki代码。消除歧义链接可以以任何方式进行,真的,所以不会有简单的方法来捕捉它们,但只要您在单一语言版本中工作,就会有一个公平的机会,即语法或多或少一致。在英文维基百科中,那将是usually be或者Rico Rodriguez (musician)或者Kimberley, British Columbia

虽然消歧页面可能非常复杂。例如:https://en.wikipedia.org/wiki/Joker

+0

您也可以使用API​​列出消歧义页面上的所有链接。 – svick

4

正如利奥所说,维基百科上,你将不得不分析消歧页面。但是,wikidata.org现在正在收集有关维基百科上描述的事情的数据集。 Wikidata具有“标签”和“别名”的概念,对于多个页面可以是相同的,并且每种语言都是defiend。下面是一个查询,你可以用它来找到所有维基数据条目“里科·罗德里格斯”:

https://www.wikidata.org/w/api.php?action=wbsearchentities&search=Rico%20Rodriguez&language=en

然后,您可以要求每个那些“数据项”中的“网站链接”:

https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q552090|Q954614&props=aliases|sitelinks&languages=en

这将为您提供每个维基百科语言版本的相应页面标题。然后,您可以转到各自的wiki的API并请求页面ID。

相关问题