mediawiki - 我可以获得截至指定日期的维基百科页面版本吗?

标签 mediawiki wikipedia wiki wikipedia-api

我正在尝试使用数据而不是“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/

相关文章:

wiki - 建立自己的 wiki 的建议?

wiki - 您可以删除 FogBugz 案例的 "See Also"部分中的死维基链接吗?

wiki - 在 MediaWiki 中使用动态生成的类别时限制类别嵌入

php - MediaWiki:如何获取用户最近编辑的N篇文章?

sql - 按 pageid 的维基百科页面到页面链接

java - jsoup - 从维基百科文章中提取文本

python - 是否有一个 Python 模块可以在没有 MediaWiki 的情况下解析 Wikipedia 文章?

php - Mediawiki 错误:调用未定义的方法 User::saveToCache()

mysql - InnoDB:试图打开以前打开的表空间

wiki - 为什么没有标准化的Wiki标记语言?