如何获取MediaWiki(维基百科)命名空间下的页面总数?
获取MediaWiki指定命名空间的页面总数
要快速拿到指定命名空间的页面总数,无需枚举所有页面,直接调用AllPages API并设置limit=0即可,API会返回对应命名空间的页面统计总数:
基础请求示例:
api.php?action=query&list=allpages&apnamespace=0&aplimit=0apnamespace:传入目标命名空间的ID(比如0为主命名空间,2为用户命名空间)aplimit=0:指定仅返回总数,不获取具体页面条目
返回结果解析:
响应中的query.allpages.total字段就是该命名空间的页面总数,示例返回片段:{ "query": { "allpages": { "total": 8976 } } }进阶需求(排除重定向页面):
如果需要统计非重定向页面的数量,添加apfilterredir=nonredirects参数:api.php?action=query&list=allpages&apnamespace=0&aplimit=0&apfilterredir=nonredirects
拿到这个总数后,就可以作为进度条的基准值,配合后续全量AllPages调用的进度更新。
内容的提问来源于stack exchange,提问作者Mitar
相关产品推荐
相关产品推荐

