web-dev-qa-db-fra.com

Comment puis-je savoir qui a écrit une certaine section d'un article dans Wikipedia?

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

Mise à jour: Je recherche également une solution pour les articles comportant des milliers de modifications (c'est-à-dire que la navigation dans l'historique des versions et la vérification de chacune d'entre elles ne sont pas pratiques).

14
Senseful

Si vous cliquez sur le lien View History 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 du changement est également affiché. Vous pouvez ensuite cliquer sur le bouton Compare selected version pour comparer le texte.

Malheureusement, je n'ai pas connaissance d'une fonctionnalité Blame qui vous permet de voir directement qui a modifié la ligne, la phrase ou le paragraphe.

EDIT: Vous pouvez vouloir vérifier site de Greg Hewill , il (apparemment) travaille sur une telle fonctionnalité de blâme.

4
LBushkin

Utilisez http://wikipedia.ramselehof.de/wikiblame.php?lang=en qui permet de rechercher des révisions sur Wikipedia.

11
Andrew

Vous pouvez le faire en cliquant sur "View History" situé dans le coin supérieur droit de chaque article de Wikipédia. Vous y trouverez une liste des révisions d'un article. Si vous voulez spécifiquement être commis par chaque utilisateur, vous pouvez cliquer sur "cur" à côté de chaque révision et wikipedia mettra en évidence ce qui a été changé.

0
Oren Hizkiya

Une façon de le faire consiste à exporter l'historique des articles, puis à traiter les révisions à l'aide d'un outil local tel que _git blame_. Cela pourrait être fait en utilisant un script.

Pour exporter l'historique de l'article, tilisez _Special:Export_ , plus précisément: 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 (indiqué dans Python 3):

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

Ensuite, téléchargez l'historique XML exporté, analysez-le avec un résultat du type _lxml.etree_ et passez en revue les révisions (xpath _//revision_). Pour chaque révision, écrivez le texte dans un fichier (disons _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.wiki_ pour voir l'auteur de chaque ligne.

Remarque: _Special:Export_ peut limiter le nombre de révisions exportées. Par conséquent, vous devrez peut-être extraire le XML plusieurs fois dans les pages à long historique.

0