it-swarm-es.com

¿Cómo puedo averiguar quién escribió una determinada sección de un artículo en Wikipedia?

Los sistemas de control de versiones suelen llamar a esta característica "culpar a alguien". Para cada línea, muestra quién lo modificó y cuándo.

Actualización: Estoy buscando una solución para artículos con miles de ediciones también (es decir, navegar por el historial de versiones y verificar cada una no es práctico).

14
Senseful

Si hace clic en el enlace View History para un artículo, puede ver la lista de cambios realizados en el artículo, en qué fecha y por quién. También se muestra un breve resumen de la descripción del cambio. Luego puede hacer clic en el botón Compare selected version para comparar el texto.

Desafortunadamente, no conozco una función Culpa que le permita ver directamente quién realizó los cambios en una línea, oración o párrafo en particular.

EDITAR: es posible que desee consultar sitio de Greg Hewill , él (aparentemente) está trabajando en una función de culpa.

4
LBushkin

Use http://wikipedia.ramselehof.de/wikiblame.php?lang=en que permite buscar revisiones en Wikipedia.

11
Andrew

Puede hacerlo haciendo clic en "View History" ubicado en la esquina superior derecha de cada artículo de wikipedia. Allí encontrará una lista de las revisiones de un artículo. Si desea que cada usuario haya confirmado específicamente, puede hacer clic en "cur" junto a cada revisión y wikipedia resaltará lo que se modificó.

0
Oren Hizkiya

Una forma de hacerlo es exportar el historial del artículo y luego procesar las revisiones utilizando una herramienta local como _git blame_. Esto podría hacerse usando un script.

Para exportar el historial del artículo, se _Special:Export_ , específicamente: https://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Blinkenlights .

Para generar la culpa, primero agregue las revisiones a un repositorio git temporal (que se muestra en Python 3):

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

Luego descargue el XML del historial exportado, analícelo con algo como _lxml.etree_, y repita las revisiones (xpath _//revision_). Para cada revisión, escriba el texto en un archivo (diga _article.wiki_), lea el autor y ejecute

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

Después de agregar todas las revisiones al repositorio, ejecute _git blame article.wiki_ para ver el autor de cada línea.

Nota: _Special:Export_ puede restringir el número de revisiones exportadas, por lo que en páginas con un historial largo puede que tenga que recuperar el XML varias veces.

0
Mechanical snail