it-swarm.cn

我如何找出谁在Wikipedia中撰写了文章的特定部分?

版本控制系统通常将此功能称为“责备某人”。对于每一行,它显示了修改的人和时间。

更新:我也在寻找一种具有数千种编辑的文章的解决方案(即浏览版本历史记录并检查每本都是不实际的)。

14
Senseful

如果单击文章的View History链接,则可以看到对该文章所做的更改,在什么日期进行更改以及由谁进行更改的列表。还将显示更改描述的简短摘要。然后,您可以单击Compare selected version按钮比较文本。

不幸的是,我不知道Blame功能,该功能使您可以直接查看是谁对特定的行或句子或段落进行了更改。

编辑:您可能想查看 Greg Hewill的网站 ,他(显然)正在开发这种怪功能。

4
LBushkin

使用 http://wikipedia.ramselehof.de/wikiblame.php?lang=zh-CN 允许在Wikipedia上搜索修订。

11
Andrew

您可以通过单击每个Wikipedia文章右上角的"View History"来实现。在这里,您将找到文章的修订列表。如果要由每个用户明确提交,可以单击每个修订旁边的"cur",维基百科会突出显示已更改的内容。

0
Oren Hizkiya

一种方法是导出文章历史记录,然后使用诸如git blame之类的本地工具处理修订。这可以使用脚本来完成。

要导出文章历史记录, 使用Special:Export ,特别是: https://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Blinkenlights

为了引起谴责,首先将修订添加到临时git存储库(如Python 3中所示):

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

然后下载导出的历史记录XML,使用类似lxml.etree的语法对其进行解析,然后遍历修订版(xpath //revision)。对于每个修订版,将文本写入文件(例如article.wiki),阅读作者并运行

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

将所有修订版本添加到仓库后,运行git blame article.wiki以查看每一行的作者。

注意:Special:Export可能会限制导出的修订版本数量,因此在历史悠久的页面中,您可能必须多次获取XML。

0
Mechanical snail