Jak mogę dowiedzieć się, kto napisał określoną sekcję artykułu w Wikipedii?

14

Systemy kontroli wersji zwykle nazywają tę funkcję „obwinianiem kogoś”. Dla każdej linii pokazuje, kto i kiedy ją zmodyfikował.

Aktualizacja: szukam rozwiązania również dla artykułów z tysiącami zmian (tj. Nawigacja w historii wersji i sprawdzanie każdego z nich jest niepraktyczne).

Rozsądny
źródło
1
Szczegółowe instrukcje dotyczące korzystania z WikiBlame (aby dowiedzieć się, kto napisał określoną frazę) można znaleźć tutaj: webapps.stackexchange.com/questions/35906/…
Anderson Green

Odpowiedzi:

4

Jeśli klikniesz View Historylink do artykułu, zobaczysz listę zmian dokonanych w tym artykule, w jakim dniu i przez kogo. Wyświetlane jest także krótkie podsumowanie opisu zmiany. Następnie możesz kliknąćCompare selected version przycisk, aby porównać tekst.

Niestety nie jestem świadomy winy funkcji która pozwala bezpośrednio zobaczyć, kto wprowadził zmiany w konkretnej linii, zdaniu lub akapicie.

EDYCJA: Możesz zajrzeć na stronę Grega Hewilla , on (najwyraźniej) pracuje właśnie nad taką winą.

LBushkin
źródło
Jest to proste w przypadku krótkich artykułów. Jednak gdy masz artykuł z setkami lub tysiącami edycji, staje się on znacznie trudniejszy. Szukam czegoś przeciwnego. Dajesz linię, która mówi użytkownikowi.
Rozsądny
Ten link, który zamieściłeś, jest dokładnie tym, czego szukałem.
Rozsądny
Cieszę się, że znalazłeś to, czego potrzebujesz: D
LBushkin
0

Możesz to zrobić, klikając przycisk "View History"znajdujący się w prawym górnym rogu każdego artykułu na Wikipedii. Tam znajdziesz listę poprawek do artykułu. Jeśli chcesz, aby został specjalnie popełniony przez każdego użytkownika, możesz kliknąć "cur"obok każdej wersji, a wikipedia podświetli to, co zostało zmienione.

Oren Hizkiya
źródło
Zaktualizowałem pytanie, które wyjaśnia, dlaczego ta metoda nie jest dobra w przypadku artykułów z tysiącami wersji.
Rozsądny
Wygląda na to, że odpowiedź OpenBSDWiki jest poprawna. Czy nie tego szukasz?
Oren Hizkiya
0

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.

Ślimak mechaniczny
źródło