it-swarm.it

Come posso sapere chi ha scritto una determinata sezione di un articolo su Wikipedia?

I sistemi di controllo della versione in genere chiamano questa funzione "incolpare qualcuno". Per ogni riga, mostra chi l'ha modificato e quando.

Aggiornamento: Sto cercando una soluzione anche per articoli con migliaia di modifiche (vale a dire navigare nella cronologia delle versioni e verificare che non sia pratico).

14
Senseful

Se si fa clic sul collegamento View History per un articolo, è possibile visualizzare l'elenco delle modifiche apportate all'articolo, in quale data e da chi. Viene inoltre visualizzato un breve riepilogo della descrizione della modifica. È quindi possibile fare clic sul pulsante Compare selected version per confrontare il testo.

Sfortunatamente, non sono a conoscenza di una funzione Blame che ti consente di vedere direttamente chi ha apportato le modifiche a una particolare riga o frase o paragrafo.

EDIT: Potresti voler dare un'occhiata a sito di Greg Hewill , (a quanto pare) sta lavorando proprio su una caratteristica del genere.

4
LBushkin

Usa http://wikipedia.ramselehof.de/wikiblame.php?lang=en che consente la ricerca di revisioni su Wikipedia.

11
Andrew

Puoi farlo facendo clic su "View History" che si trova nell'angolo in alto a destra di ogni articolo di Wikipedia. Lì troverai un elenco delle revisioni di un articolo. Se si desidera eseguire il commit specifico di ciascun utente, è possibile fare clic su "cur" accanto a ciascuna revisione e Wikipedia evidenzierà ciò che è stato modificato.

0
Oren Hizkiya

Un modo per farlo è esportare la cronologia degli articoli e quindi elaborare le revisioni utilizzando uno strumento locale come _git blame_. Questo potrebbe essere fatto usando uno script.

Per esportare la cronologia degli articoli, sa _Special:Export_ , in particolare: https://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Blinkenlights .

Per generare la colpa, aggiungi prima le revisioni a un repository git temporaneo (mostrato in Python 3):

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

Quindi scaricare l'XML storico esportato, analizzarlo con qualcosa come _lxml.etree_ e passare in rassegna le revisioni (xpath _//revision_). Per ogni revisione, scrivi il testo in un file (ad esempio _article.wiki_), leggi l'autore ed esegui

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

Dopo aver aggiunto tutte le revisioni al repository, eseguire _git blame article.wiki_ per vedere l'autore di ogni riga.

Nota: _Special:Export_ potrebbe limitare il numero di revisioni esportate, quindi nelle pagine con una cronologia lunga potrebbe essere necessario recuperare l'XML più volte.

0