从MediaWiki API:Query page看来,您一次只能解决重定向问题。
该文档甚至说“下面的示例并不真正有用,因为它不使用任何查询模块,但显示重定向参数的工作原理。”
但是如何获得重定向信息 - 使用 返回多个结果的查询模块?
答案 0 :(得分:4)
如果您有任何返回page
的结果,那么您只需将redirects
附加到查询中即可解析重定向。如果您没有返回page
的结果,通常可以使用generator将其转换为该结果。
例如,查询
返回类似(缩短)的内容
<api>
<query>
<categorymembers>
<cm pageid="648" ns="0" title="Actress" />
<cm pageid="19887132" ns="0" title="Administratrix" />
</categorymembers>
</query>
</api>
如果将其转换为生成器
你得到了
<api>
<query>
<pages>
<page pageid="648" ns="0" title="Actress" />
<page pageid="19887132" ns="0" title="Administratrix" />
</pages>
</query>
</api>
如果您现在添加redirects
你得到了
<api>
<query>
<redirects>
<r from="Actress" to="Actor" />
<r from="Administratrix" to="Administrator (law)" />
</redirects>
<pages>
<page pageid="21504235" ns="0" title="Actor" />
<page pageid="6676496" ns="0" title="Administrator (law)" />
</pages>
</query>
</api>
答案 1 :(得分:1)
您还可以将prop=redirects
与任何生成器一起使用,例如generator=allpages
。这是自MW-1.23以来的一项新功能,修复了bug T59057。
使用generator=allpages
的最大限制(gaplimit=max
和rdlimit=max
)并且apihighlimits
权限可用时,ArchWiki上的所有重定向都会在单个查询中解析;)
https://wiki.archlinux.org/api.php?action=query&generator=allpages&gapfilterredir=nonredirects&gaplimit=max&prop=redirects&rdprop=pageid|title|fragment&rdlimit=max