特定のウィキペディアユーザーが作成したすべてのページを表示するにはどうすればよいですか?


7

ウィキペディアの各ユーザーについて、それらのユーザーによって作成されたページを見つけたいと思います。特定のWikipediaまたはMediawikiユーザーによって作成されたすべてのページを見つけるにはどうすればよいですか?


もちろん、ページの変更履歴の最初の編集に戻って、ページの作成者を見つけることは可能です。私がしたいのは、特定のユーザーによって作成されたすべてのページのリストを見つけることです。
アンダーソングリーン

toolserverのアカウントを持っていないと思いますよね?
スビック

いいえ、toolserverにはまだアカウントがありません。これは私の質問にどのように関連していますか?
アンダーソングリーン

回答:


3

私の知る限り、これを行う簡単な方法はありません。しかし、私はいくつかの可能性を見ることができます(実際には機能しないものから始まります)。

  1. APIを使用します。APIにはこれを行う直接的な方法はありませんが、回避することを試みることができます。

    1. すべてのページを調べ、それぞれについて、作成者を見つけます。リビジョンを操作するときのAPIの制限のため、これはページごとに1つのリクエストを意味し、これはWikipediaと同じ大きさのWikiにとってこれを完全に実行不可能にします。

      最初のクエリは次のようになります。http//en.wikipedia.org/w/api.php?action = query &generator = allpages&gaplimit = 1&prop = revisions&rvdir = newer&rvprop = user&rvlimit = 1

    2. 各ユーザーについて、彼の貢献を調べ、どの編集が新しいページを作成したかを確認します。APIでは投稿をフィルタリングしてページ作成のみを表示することはできないため、自分でフィルタリングする必要があります。これはおそらく上記のオプションよりはるかに高速ですが、それでもウィキペディアには遅すぎます:

      User:Svickのクエリは次のようになります。http//en.wikipedia.org/w/api.php?action = query&list = usercontribs&ucuser = Svick&ucprop = title | flags&uclimit = max

  2. XMLのすべてのページのリビジョンに関する情報が含まれているstub-meta-historyダンプ(英語版のWikipediaでは32 GB圧縮)をダウンロードします。これを確認して、各ページの作成者を見つけることができます(改訂が削除されていない場合)。

  3. 上のウィキメディアToolServerを、私は実行スクリプト定期的にテーブルを更新する(もともと私が書かれていない)u_svick_enwiki_page_creators_p各ページを作成したユーザーに関する情報が含まれています、。このテーブルには、Toolserverの他のユーザーはアクセスできますが、一般にはアクセスできません。

まとめると、良い解決策はなく、32 GBのデータをダウンロードして解析するか、Toolserverアカウントを取得して、前述の表を使用するという2つの選択肢があります。



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