我在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
我应该使用哪些参数?
答案 0 :(得分:7)
要使API解析重定向,只需将redirects
添加到查询中即可。所以,例如:
http://en.wikipedia.org/w/api.php?action=query&format=json&pageids=11601783&redirects
将为您提供重定向目标的网页ID。
使用单个查询对多个页面执行此操作似乎不是一个好方法,因为响应的redirects
部分从标题映射到标题,而不是页面ID(I&#39 ; m假设您不知道重定向页面的标题。)
解决这个问题的一种方法是将redirects
与prop=redirects
合并:
这将为您提供所有重定向到目标页面,包括其页面ID。