2014-03-06 163 views
3

我在數據庫中獲得了許多維基百科頁面標識,其中一些已被重定向到其他地方。維基百科搜索API獲取重定向頁面ID

所以我想知道如何獲得這些新的pageIDs。

我查維基百科網站:

http://en.wikipedia.org/wiki/?curid=11601783 

它說(從重定向....),這意味着它不是主要的鏈接我想要的。良好的鏈接應該是:

http://en.wikipedia.org/wiki/?curid=34344124 

所以我想知道如何像API搜索,獲得最終的pageID:

http://en.wikipedia.org/w/api.php?action=query&format=json&prop=extracts&pageids=11601783 

我應該使用什麼參數?

回答

7

要使API解析重定向,只需將redirects添加到查詢。因此,舉例來說:

http://en.wikipedia.org/w/api.php?action=query&format=json&pageids=11601783&redirects

會給你重定向目標的頁面ID。

似乎沒有一種方法可以對多個頁面使用單個查詢來執行此操作,因爲redirects部分響應會從標題映射到標題,而不是頁面標識(我假設您不需要知道重定向頁面的標題)。

之一來解決該方法是用redirects結合prop=redirects

http://en.wikipedia.org/w/api.php?action=query&format=json&pageids=11601783&redirects&prop=redirects&rdlimit=max

這會給你所有重定向到目標頁面,其中包括他們的頁面ID。