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

如何使用MediaWiki API检索维基新闻特定分类下的所有文章?

获取维基新闻指定分类下的所有文章文本

Search API确实不支持深度遍历分类,你应该用Categorymembers API来实现需求,它支持递归获取子分类中的所有页面内容。

1. 遍历分类获取所有文章标题

使用Categorymembers API可以直接指定分类,获取该分类及子分类下的所有文章页面,核心参数说明:

  • cmtitle:目标分类的完整名称(比如Category:Politics_and_conflicts)
  • cmtype=page:只返回文章页面,排除分类页面本身
  • cmlimit=max:单次请求返回最大数量的结果
  • cmcontinue:分页标记,当结果超过单次限制时,用该参数继续获取剩余内容
  • cmrecurse=subcat:如果需要递归遍历所有层级的子分类,加上这个参数

示例请求(JSON格式):

GET /w/api.php?action=query&list=categorymembers&cmtitle=Category:Politics_and_conflicts&cmtype=page&cmprop=title&cmlimit=max&format=json

每次请求后检查响应中的cmcontinue字段,存在的话就将其加入下一次请求,直到没有该字段,说明所有文章标题已获取完成。

2. 批量获取文章文本

拿到所有文章标题后,用Revisions API批量拉取页面内容,核心参数:

  • titles:传入多个文章标题,用|分隔(建议单次不超过50个,避免触发API限制)
  • rvprop=content:获取页面的原始文本内容

示例请求:

GET /w/api.php?action=query&prop=revisions&titles=ArticleTitle1|ArticleTitle2&rvprop=content&format=json

注意事项

  • 所有请求需指向维基新闻的API端点:https://en.wikinews.org/w/api.php
  • 严格遵守API请求频率限制,避免被临时封禁
  • 部分文章可能包含模板或格式标记,如需纯文本,可后续对返回的内容进行解析处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 11:45:55