我在DB中获得了许多维基百科的pageID,其中一些已经被重定向到其他地方. 所以我想知道如何获取这些新的pageID. 我检查维基百科网站: http://en.wikipedia.org/wiki/?curid=11601783 它说(从….重定向
所以我想知道如何获取这些新的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
我应该使用什么参数?
要使API解析重定向,只需向查询添加重定向即可.所以,例如:http://en.wikipedia.org/w/api.php?action=query&format=json&pageids=11601783&redirects
将为您提供重定向目标的页面ID.
似乎没有一种好方法可以使用单个查询对多个页面执行此操作,因为重定向部分响应映射从标题到标题,而不是页面ID(我假设您不知道标题重定向页面).
解决这个问题的一种方法是将重定向与prop =重定向相结合:
http://en.wikipedia.org/w/api.php?action=query&format=json&pageids=11601783&redirects&prop=redirects&rdlimit=max
这将为您提供所有重定向到目标页面,包括其页面ID.