我在python中使用pywikibot
来获取维基百科页面的所有修订。
import pywikibot as pw
wikiPage='Narthaki'
page = pw.Page(pw.Site('en'), wikiPage)
revs = page.revisions(content=True)
我如何知道哪些修订是还原的?我从https://xtools.wmflabs.org/articleinfo/en.wikipedia.org/Narthaki页面有一个恢复编辑。不确定如何从修订对象获取有关此的详细信息。
请求您的帮助。非常感谢!
"Revert"不是一个定义良好的概念,因此它取决于您如何定义它https://phabricator.wikimedia.org/T152434进行相关讨论。(目前功能最强的恢复检测工具可能是mwrevert。
您可以直接比较修订文本,或者查找具有相同sha1哈希的修订:
>>> rev = next(revs)
>>> rev.sha1
'1b02fc4cbcfd1298770b16f85afe0224fad4b3ca'
如果两个修订具有相同的文本/哈希,则意味着较新的修订将恢复到较旧的修订。当然,也有一些特殊情况,如sha1hidden
,或者需要考虑如何处理同一修订版的多个回复。