ウィキペディアで記事の特定のセクションを書いた人を見つけるにはどうすればよいですか?


14

バージョン管理システムは通常、この機能を「誰かを非難する」と呼びます。各行について、誰がいつ変更したかを示します。

更新: 何千もの編集を含む記事のソリューションも探しています(つまり、バージョン履歴をナビゲートし、それぞれをチェックすることは実用的ではありません)。


1
(特定のフレーズを書いた人を見つけるために)WikiBlameを使用する具体的な手順については、ここで見つけることができます:webapps.stackexchange.com/questions/35906/...
アンダーソングリーンを

回答:


4

View History記事のリンクをクリックすると、記事に加えられた変更のリスト、日付、日付、誰が表示されます。変更の説明の短い要約も表示されます。次に、Compare selected versionボタンをクリックしてテキストを比較できます。

残念ながら、特定の行、文、または段落を誰が変更したかを直接確認できるBlame機能については知りません。

編集:あなたはグレッグ・ヘウィルのサイトをチェックアウトしたいかもしれません、彼は(明らかに)そのような非難機能に取り組んでいます。


これは短い記事では簡単です。ただし、数百または数千の編集を含む記事がある場合は、はるかに難しくなります。私は反対を探しています。あなたが行を与えると、それはあなたにユーザーに伝えます。
意味のある

あなたが投稿したリンクはまさに​​私が探していた種類のものです。
意味のある

あなたが必要なものを見つけてくれてうれしいです:D
LBushkin


0

これを行う"View History"には、すべてのウィキペディアの記事の右上隅にあるをクリックします。そこには、記事の改訂版のリストがあります。各ユーザーが具体的にコミットしたい場合は"cur"、各リビジョンの横をクリックすると、ウィキペディアが変更内容を強調表示します。


この方法が何千ものバージョンの記事に適さない理由を説明する質問を更新しました。
意味のある

そのとき、OpenBSDWikiの答えは正しいようです。それはあなたが探しているものではありませんか?
オレンヒスキヤ

0

それを行う1つの方法は、記事の履歴をエクスポートしてから、などのローカルツールを使用して改訂を処理することです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を複数回フェッチする必要がある場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.