Comment savoir qui a écrit une certaine section d'un article sur Wikipedia?

14

Les systèmes de contrôle de version appellent généralement cette fonctionnalité "blâmer quelqu'un". Pour chaque ligne, il vous montre qui l'a modifiée et quand.

Mise à jour: je recherche également une solution pour des articles avec des milliers de modifications (c'est-à-dire qu'il n'est pas pratique de parcourir l'historique des versions et de vérifier chacune d'elles).

Sensé
la source
1
Des instructions spécifiques pour utiliser WikiBlame (pour savoir qui a écrit une phrase spécifique) peuvent être trouvées ici: webapps.stackexchange.com/questions/35906/…
Anderson Green

Réponses:

4

Si vous cliquez sur le View Historylien d'un article, vous pouvez voir la liste des modifications apportées à l'article, à quelle date et par qui. Un bref résumé de la description des modifications s'affiche également. Vous pouvez ensuite cliquer sur le Compare selected versionbouton pour comparer le texte.

Malheureusement, je ne connais pas de fonction Blame qui vous permet de voir directement qui a apporté les modifications à une ligne, une phrase ou un paragraphe particulier.

EDIT: Vous voudrez peut-être consulter le site de Greg Hewill , il travaille (apparemment) sur une telle fonctionnalité de blâme.

LBushkin
la source
C'est simple pour les articles courts. Cependant, lorsque vous avez un article avec des centaines ou des milliers de modifications, cela devient beaucoup plus difficile. Je cherche le contraire. Vous donnez une ligne et elle vous indique l'utilisateur.
Senseful
Ce lien que vous avez publié est exactement le genre de chose que je cherchais.
Senseful
Je suis content que vous ayez trouvé ce dont vous aviez besoin: D
LBushkin
0

Vous pouvez le faire en cliquant "View History"dans le coin supérieur droit de chaque article de wikipedia. Vous y trouverez une liste des révisions d'un article. Si vous souhaitez que chaque utilisateur soit spécifiquement engagé, vous pouvez cliquer à "cur"côté de chaque révision et wikipedia mettra en évidence ce qui a été modifié.

Oren Hizkiya
la source
J'ai mis à jour la question qui explique pourquoi cette méthode n'est pas bonne pour les articles avec des milliers de versions.
Senseful
Il semble que la réponse d'OpenBSDWiki soit correcte alors. N'est-ce pas ce que vous recherchez?
Oren Hizkiya
0

Une façon de le faire est d'exporter l'historique de l' article, et traiter ensuite les révisions à l' aide d' un outil comme locale git blame. Cela pourrait être fait en utilisant un script.

Pour exporter l'historique de l' article, utilisezSpecial:Export , en particulier: https://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Blinkenlights.

Pour générer le blâme, ajoutez d'abord les révisions à un référentiel git temporaire (affiché en Python 3):

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

Ensuite, téléchargez le XML d'historique exporté, analysez-le avec quelque chose comme lxml.etree, et parcourez les révisions (xpath //revision). Pour chaque révision, écrivez le texte dans un fichier (par exemple article.wiki), lisez l'auteur et exécutez

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

Une fois toutes les révisions ajoutées au référentiel, exécutez git blame article.wikipour voir l'auteur de chaque ligne.

Remarque: Special:Exportpeut limiter le nombre de révisions exportées, donc dans les pages avec un long historique, vous devrez peut-être récupérer le XML plusieurs fois.

Escargot mécanique
la source