【问题标题】:Wikipedia search API get redirect pageID维基百科搜索 API 获取重定向 pageID
【发布时间】:2014-03-06 21:03:08
【问题描述】:

我在 DB 中获得了许多 Wikipedia pageID,其中一些已经重定向到其他地方。

所以我想知道如何获取这些新的 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

我应该使用什么参数?

【问题讨论】:

    标签: wikipedia wikipedia-api


    【解决方案1】:

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

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

    会给你重定向目标的页面ID。

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

    解决此问题的一种方法是将redirectsprop=redirects 结合起来:

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

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

    【讨论】:

      猜你喜欢
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 1970-01-01
      相关资源
      最近更新 更多