2014-04-17 44 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。

相關問題