You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在WikiData的API中使用generator获取维基百科分类下页面字段

报错根因

各维基媒体独立站点的页面ID体系完全隔离,你使用的1810130是波兰语维基百科的专属分类页ID,不存在于Wikidata的页面体系中。此外Wikidata的内容关联逻辑与普通语言版维基百科的Category分类体系不同,无法直接使用categorymembers生成器调用Wikidata接口获取对应分类下的内容。

解决方案

无需分开请求两个站点的接口,可直接在波兰语维基百科的API请求中附加Wikidata实体属性查询参数,单次请求即可同时拿到分类下页面列表和所需结构化字段。
需在原有请求参数基础上新增以下配置:

  • 新增prop字段,取值为wbentityclaims,用于拉取页面对应Wikidata实体的属性声明
  • 新增wbclaimsproperty字段,指定需要查询的Wikidata属性ID,例如出生日期对应的属性ID为P569,需查询多个属性时用|分隔即可

调整后的请求参数示例:

query.params = {
  "action": "query",
  "generator": "categorymembers",
  "gcmpageid": 1810130,
  "gcmlimit": "max",
  "prop": "wbentityclaims",
  "wbprop": "claims",
  "wbclaimsproperty": "P569",
  "format": "json"
}

返回结果中每个页面对象下的wbentityclaims字段即为对应Wikidata属性的取值,可直接提取使用。如果需要递归获取子分类下的页面,新增gcmtype=page|subcat参数后自行处理子分类的递归查询即可。

内容的提问来源于stack exchange,提问作者adamgorszy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:42:03