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

标签 wikipedia wikipedia-api

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

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

我检查维基百科网站:

http://en.wikipedia.org/wiki/?curid=11601783

它说 (Redirected from....) 这意味着它不是我想要的主要链接。好的链接应该是:
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 解析重定向,只需添加 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。

关于维基百科搜索 API 获取重定向 pageID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22235903/

相关文章:

java - 使用 Java 提取维基百科中的类别树

mediawiki - 如何获取所有Wikipedia文章的标题列表

hyperlink - 在哪里可以找到将内部 MediaWiki 链接转换为文章 URL 的代码?

json - 从深度嵌套的 JSON 文件中提取值(维基百科 API)

templates - 使用 api 获取 wiki 页面的模板数据

php - 使用维基百科 API 查找文章的主要类别

按日期获取维基百科修订ID的API

ruby - 如何使用 Nokogiri 选择表格行?

wikipedia - 查找重定向到现有/实例化维基百科页面的所有页面

sparql - 如何从俄语维基百科获取某些电影文章的 IMDb ID?