Jednym ze sposobów jest wyeksportowanie historii artykułów, a następnie przetworzenie poprawek za pomocą lokalnego narzędzia, takiego jak git blame. Można to zrobić za pomocą skryptu.
Aby wyeksportować historię artykułu, wykorzystywaćSpecial:Export , w szczególności: https://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Blinkenlights.
Aby wygenerować winę, najpierw dodaj poprawki do tymczasowego repozytorium git (pokazanego w Pythonie 3):
import tempfile
import subprocess
with tempfile.TemporaryDirectory() as repo:
os.chdir(repo.name)
subprocess.check_call(['git', 'init'])
Następnie pobierz wyeksportowany plik XML historii, przeanalizuj go za pomocą czegoś podobnego lxml.etreei obejrzyj wersje (xpath //revision). Dla każdej wersji napisz tekst do pliku (powiedzmy article.wiki), przeczytaj autora i uruchom
subprocess.check_call(['git', 'commit', '-a', '-m', 'blah', '--author=' + str(author)])
Po dodaniu wszystkich poprawek do repozytorium, uruchom, git blame article.wikiaby zobaczyć autora każdej linii.
Uwaga: Special:Exportmoże ograniczyć liczbę eksportowanych wersji, więc na stronach z długą historią może być konieczne pobranie pliku XML wiele razy.