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.etree
i 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.wiki
aby zobaczyć autora każdej linii.
Uwaga: Special:Export
może ograniczyć liczbę eksportowanych wersji, więc na stronach z długą historią może być konieczne pobranie pliku XML wiele razy.