Як я можу дізнатися, хто написав певний розділ статті у Вікіпедії?


14

Системи контролю версій зазвичай називають цю функцію "виною когось". Для кожного рядка вказується, хто його змінив і коли.

Оновлення: я шукаю рішення і для статей з тисячами правок (тобто навігація по історії версій і перевірка кожної не є практичною).


1
Конкретні вказівки щодо використання WikiBlame (щоб дізнатися, хто написав конкретну фразу) можна знайти тут: webapps.stackexchange.com/questions/35906/…
Anderson Green

Відповіді:


4

Якщо ви натиснете View Historyпосилання на статтю, ви побачите список змін, внесених до статті, на яку дату і ким. Також відображається короткий підсумок опису змін. Потім можна натиснути Compare selected versionкнопку для порівняння тексту.

На жаль, мені не відома функція вини, яка дозволяє безпосередньо бачити, хто вніс зміни в певний рядок, пропозицію чи абзац.

EDIT: Ви можете перевірити сайт Грега Хьюїлла , він (мабуть) працює над саме такою функцією вини.


Це дуже просто для коротких статей. Однак коли у вас є стаття із сотнями чи тисячами правок, це стає набагато складніше. Я шукаю протилежне. Ви даєте рядок, і він повідомляє вам користувача.
Розсудливий

Це посилання, яке ви опублікували, - це саме те, що я шукав.
Розсудливий

Я радий, що ти знайшов те, що тобі потрібно: D
Л.Бушкін


0

Для цього можна натиснути "View History"розташований у верхньому правому куті кожної статті вікіпедії. Там ви знайдете перелік редакцій статті. Якщо ви хочете, щоб кожен користувач спеціально вчинявся, ви можете натиснути "cur"поруч із кожною редакцією, а вікіпедія виділить те, що було змінено.


Я оновив питання, в якому пояснюється, чому цей спосіб не корисний для статей з тисячами версій.
Розсудливий

Здається, тоді відповідь OpenBSDWiki правильна. Це не те, що ви шукаєте?
Орен Хізкія

0

Один із способів зробити це - експортувати історію статей, а потім обробити зміни, використовуючи локальний інструмент, як-от git blame . Це можна зробити за допомогою сценарію.

Щоб експортувати історію статті, використовуйтеSpecial:Export , зокрема:https://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Blinkenlights .

Щоб створити провину, спочатку додайте версії до тимчасового сховища git (показаного на Python 3):

import tempfile
import subprocess
with tempfile.TemporaryDirectory() as repo:
    os.chdir(repo.name)
    subprocess.check_call(['git', 'init'])

Потім завантажте експортований XML історії, проаналізуйте його чимось на зразок lxml.etreeта переведіть на версії (xpath //revision). Для кожної редакції запишіть текст у файл (скажімо article.wiki), прочитайте автора та запустіть

subprocess.check_call(['git', 'commit', '-a', '-m', 'blah', '--author=' + str(author)])

Після того, як всі ревізії будуть додані до репо, запустіть git blame article.wiki щоб побачити автора кожного рядка.

Примітка: Special:Exportможе обмежитися кількість експортованих редакцій, тому на сторінках з довгою історією вам, можливо, доведеться отримати XML кілька разів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.