Salah satu cara untuk melakukannya adalah dengan mengekspor sejarah artikel, dan kemudian memproses revisi menggunakan alat lokal seperti git blame
. Ini bisa dilakukan dengan menggunakan skrip.
Untuk mengekspor riwayat artikel, menggunakanSpecial:Export
, khususnya: https://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Blinkenlights
.
Untuk menghasilkan kesalahan, pertama tambahkan revisi ke repositori git sementara (diperlihatkan dalam Python 3):
import tempfile
import subprocess
with tempfile.TemporaryDirectory() as repo:
os.chdir(repo.name)
subprocess.check_call(['git', 'init'])
Kemudian unduh XML riwayat yang diekspor, parsing dengan sesuatu seperti lxml.etree
, dan lewati revisi (xpath //revision
). Untuk setiap revisi, tulis teks ke file (katakanlah article.wiki
), baca penulisnya, dan jalankan
subprocess.check_call(['git', 'commit', '-a', '-m', 'blah', '--author=' + str(author)])
Setelah semua revisi ditambahkan ke repo, jalankan git blame article.wiki
untuk melihat pembuat setiap baris.
Catatan: Special:Export
mungkin membatasi jumlah revisi yang diekspor, jadi di halaman dengan riwayat panjang Anda mungkin harus mengambil XML beberapa kali.