维基百科搜索API获取重定向pageID

时间:2014-03-06 21:03:09

标签: wikipedia wikipedia-api

我在DB中获得了许多维基百科页面ID,其中一些已经被重定向到其他地方。

所以我想知道如何获取这些新的pageID。

我查看维基百科网站:

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

我应该使用哪些参数?

1 个答案:

答案 0 :(得分:7)

要使API解析重定向,只需将redirects添加到查询中即可。所以,例如:

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

将为您提供重定向目标的网页ID。

使用单个查询对多个页面执行此操作似乎不是一个好方法,因为响应的redirects部分从标题映射到标题,而不是页面ID(I&#39 ; m假设您不知道重定向页面的标题。)

解决这个问题的一种方法是将redirectsprop=redirects合并:

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

这将为您提供所有重定向到目标页面,包括其页面ID。