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

Ben*_* Ae 4 wikipedia wikipedia-api

我在DB中获得了许多维基百科的pageID,其中一些已经被重定向到其他地方.

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

我检查维基百科网站:

http://en.wikipedia.org/wiki/?curid=11601783
Run Code Online (Sandbox Code Playgroud)

它说(从....重定向),这意味着它不是我想要的主要链接.好的联系应该是:

http://en.wikipedia.org/wiki/?curid=34344124
Run Code Online (Sandbox Code Playgroud)

所以我想知道如何通过API搜索获得最终的pageID,如:

http://en.wikipedia.org/w/api.php?action=query&format=json&prop=extracts&pageids=11601783
Run Code Online (Sandbox Code Playgroud)

我应该使用什么参数?

svi*_*ick 9

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

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

将为您提供重定向目标的页面ID.

似乎没有一种好方法可以使用单个查询对多个页面执行此操作,因为redirects响应的一部分从标题映射到标题,而不是页面ID(我假设您不知道标题的标题)重定向页面).

要解决这一种方法是结合redirects使用prop=redirects:

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

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