如何通过MediaWiki API获取维基百科页面的非最新版本?
能否通过MediaWiki API访问维基百科页面的历史版本?
当然可以,MediaWiki API完全支持获取页面的非最新历史版本,核心是通过指定版本ID或时间戳来精准定位目标版本,以下是具体用法:
指定版本ID获取
在API请求中加入revids参数,值为目标版本的ID号。比如要获取某页面ID为12345的历史版本,请求参数可设置为:action=query&prop=revisions&titles=页面标题&revids=12345&rvprop=content|timestamp|user其中
rvprop用来指定要返回的版本属性,比如内容、时间戳、编辑者等。通过时间戳获取
如果不知道版本ID,也可以用timestamp参数指定某个时间点,API会返回该时间点之前的最新版本。时间戳格式需为YYYYMMDDHHMMSS,示例参数:action=query&prop=revisions&titles=页面标题×tamp=20200101000000&rvprop=content|timestamp批量获取历史版本
若要获取某页面的多个历史版本,可通过rvlimit设置返回数量,rvstart和rvend限定时间范围,或用rvdir控制排序方向(比如按时间倒序/正序)。示例:action=query&prop=revisions&titles=页面标题&rvlimit=10&rvdir=newer&rvprop=content|timestamp|user
注意事项
- 版本ID可通过页面的历史记录页面查看,也可先用
action=query&prop=revisions&titles=页面标题&rvlimit=50获取最近的版本列表来获取revids。 - 对于大页面的历史版本,API可能会分块返回,需处理
continue参数来获取完整内容。
内容的提问来源于stack exchange,提问作者tlietz
相关产品推荐
相关产品推荐

