ti-enxame.com

Como posso descobrir quem escreveu uma certa seção de um artigo na Wikipedia?

Os sistemas de controle de versão normalmente chamam esse recurso de "culpar alguém". Para cada linha, ele mostra quem a modificou e quando.

Atualização: Estou procurando uma solução para artigos com milhares de edições (por exemplo, navegar no histórico de versões e verificar cada uma delas não é prático).

14
Senseful

Se você clicar no link View History de um artigo, poderá ver a lista de alterações feitas no artigo, em que data e por quem. Um breve resumo da descrição da mudança também é exibido. Você pode clicar no botão Compare selected version para comparar o texto.

Infelizmente, não conheço um recurso Culpa que permite ver diretamente quem fez as alterações em uma linha ou sentença ou parágrafo específico.

EDIT: Você pode querer conferir site de Greg Hewill , ele (aparentemente) está trabalhando apenas em um recurso de culpa.

4
LBushkin

Use http://wikipedia.ramselehof.de/wikiblame.php?lang=en que permite pesquisar revisões na Wikipedia.

11
Andrew

Você pode fazer isso clicando em "View History" localizado no canto superior direito de cada artigo da wikipedia. Lá você encontrará uma lista das revisões de um artigo. Se você deseja confirmar especificamente cada usuário, pode clicar em "cur" ao lado de cada revisão e a wikipedia destacará o que foi alterado.

0
Oren Hizkiya

Uma maneira de fazer isso é exportar o histórico do artigo e processar as revisões usando uma ferramenta local como _git blame_. Isso pode ser feito usando um script.

Para exportar o histórico do artigo, se _Special:Export_ , especificamente: https://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Blinkenlights .

Para gerar a culpa, primeiro adicione as revisões a um repositório temporário git (mostrado em Python 3):

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

Em seguida, faça o download do XML exportado do histórico, analise-o com algo como _lxml.etree_ e faça um loop nas revisões (xpath _//revision_). Para cada revisão, escreva o texto em um arquivo (por exemplo, _article.wiki_), leia o autor e execute

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

Depois que todas as revisões forem adicionadas ao repositório, execute _git blame article.wiki_ para ver o autor de cada linha.

Nota: _Special:Export_ pode restringir o número de revisões exportadas; portanto, em páginas com histórico longo, pode ser necessário buscar o XML várias vezes.

0
Mechanical snail