【问题标题】:How to retrieve history version of Wikipedia article by given date?如何按给定日期检索维基百科文章的历史版本?
【发布时间】:2017-06-02 19:04:48
【问题描述】:
有没有办法使用 MediaWiki API 或任何其他工具使用大致日期(不知道“旧 ID”值)自动检索维基百科文章的先前版本?
例如,我如何使用 “2016 年 12 月”、“2016 年 12 月 20 日” 或这一天左右的日期检索 2016 年 12 月 20 日的 history version of Stack Overflow 文章作为参数?
【问题讨论】:
标签:
wikipedia
wikipedia-api
mediawiki-api
【解决方案1】:
您可以通过将MediaWiki API 与操作query 和属性revisions 一起使用来做到这一点。要在 2016 年 12 月 20 日 00:00:00 之后获得 Stack Overflow 的第一次修订,您可以使用:
https://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Stack%20Overflow&rvlimit=1&rvprop=content&rvdir=newer&rvstart=2016-12-20T00:00:00Z
其中 rvlimit 是要返回的历史版本数,rvdir=newer 表示结果(如果 rvlimit > 1)按从最旧到最新的顺序列出,而 rvstart 是获取页面历史版本的时间。
【解决方案2】:
Special:Export 页面上的 curl 请求也可能会有所帮助,方法是将 offset 参数设置为“2016-12-20T00:00:00Z”之类的值
curl -d "" 'https://en.wikipedia.org/w/index.php?title=Special:Export&pages=Stack_Overflow&offset=2016-12-20T00:00:00Z&limit=1&action=submit'