我正在尝试使用数据而不是“oldid”来访问旧版本的 Wiki 页面。通常要访问 wiki 页面的某个版本,我必须使用像这样的页面 id https://en.wikipedia.org/w/index.php?title=Main_Page&oldid=969106986 ,有没有办法在不知道ID的情况下使用日期访问同一页面?例如,如果我知道该页面的一个版本发布于“2020 年 7 月 23 日 12:44”
最佳答案
除了“主”API(MediaWiki 开发人员称为操作 API)之外,您还可以使用 REST API。它可能会或可能不会在所有维基上启用,但如果您打算查询维基百科内容。
revision module\action API 的(链接到 @amirouche 的答案)允许您获取页面的 wikitext 格式。这是 MediaWiki 使用的源格式,从中获取 HTML 并不容易,这样可以更容易分析(特别是如果您进行 ĺingquistic 分析)。
如果 HTML 更适合您的用例,您可以使用 REST API,请参阅 https://en.wikipedia.org/api/rest_v1/#/ 。例如,如果您对截至 2008 年 7 月的英语维基百科主页感兴趣,您可以使用 https://en.wikipedia.org/api/rest_v1/page/html/Main_Page/223883415 .
数字(223883415)是修订ID,您可以通过action API获取。 .
但是,请记住,会将修订版的 wiki 文本重新解析为 HTML。这意味着它不需要与保存修订版本时显示的内容完全相同。例如,维基文本可以包含当前日期的条件(用于自动更新主页)。如果您有兴趣了解这一点,则需要使用 archive.org。
关于mediawiki - 我可以获得截至指定日期的维基百科页面版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63846675/