Как я могу получить подробную информацию об отмененных изменениях вики-страницы? - PullRequest
2 голосов
/ 02 марта 2020

Я использую pywikibot в python, чтобы получить все ревизии страницы Википедии.

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 я вижу, что на странице есть одно отредактированное редактирование. Не знаете, как получить дополнительную информацию об этом из объекта ревизии.

Запросите вашу помощь. Большое спасибо!

Ответы [ 2 ]

4 голосов
/ 02 марта 2020

«Вернуть» не является четко определенным понятием, поэтому оно зависит от того, как вы его определяете. (См. https://phabricator.wikimedia.org/T152434 для некоторого соответствующего обсуждения.) На сегодняшний день наиболее способным средством обнаружения возврата является, вероятно, mwrevert .

3 голосов
/ 02 марта 2020

Вы можете сравнивать текст ревизии напрямую или искать ревизии с одинаковым sha1 га sh:

>>> rev = next(revs)
>>> rev.sha1
'1b02fc4cbcfd1298770b16f85afe0224fad4b3ca'

Если две ревизии имеют одинаковый текст / га sh, это означает, что более новый - возврат к старому. Конечно, есть некоторые особые случаи, такие как sha1hidden, или как обработать несколько возвратов к одной и той же ревизии, которую нужно учитывать.

...