我想找到一个方法来获取特定日期的维基百科文章内容。例如,我想查看2022年1月1日的某个文章版本。
- 手动或通过抓取:转到页面的历史记录,向下滚动直到找到我想要的日期之前的修订版本,然后点击它(https://en.wikipedia.org/w/index.php?title=Jupiter&action=history)
- REST API可以检索最后20次修订(https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history)
- REST API可以检索比另一个修订更早的修订,但这是通过使用修订ID而不是日期来实现的(https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history?older_than=1219856114)
- 理论上,我可以获取最后20次修订,并不断请求前20次,直到我回溯到足够早的时间。然而,在实践中,这种方法可以工作几次,但由于速率限制,如果在一小时内浏览许多文章,它将无法工作
鉴于这些方法都不太有效,从给定日期检索维基条目的正确方法是什么?
使用 操作 API 的
prop=revisions
替代:尝试使用 API 沙盒 进行操作。
rvstart
表示 MediaWiki 将从哪个时间戳开始枚举,而rvlimit=1
意味着我们只对它提供的第一个修订感兴趣。rvprop
控制每个修订结果中包含哪些数据属性;timestamp
是该修订的时间戳,而ids
是它和前一个修订的 ID。