ウィキペディアの各ユーザーについて、それらのユーザーによって作成されたページを見つけたいと思います。特定のWikipediaまたはMediawikiユーザーによって作成されたすべてのページを見つけるにはどうすればよいですか?
ウィキペディアの各ユーザーについて、それらのユーザーによって作成されたページを見つけたいと思います。特定のWikipediaまたはMediawikiユーザーによって作成されたすべてのページを見つけるにはどうすればよいですか?
回答:
私の知る限り、これを行う簡単な方法はありません。しかし、私はいくつかの可能性を見ることができます(実際には機能しないものから始まります)。
APIを使用します。APIにはこれを行う直接的な方法はありませんが、回避することを試みることができます。
すべてのページを調べ、それぞれについて、作成者を見つけます。リビジョンを操作するときの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
各ユーザーについて、彼の貢献を調べ、どの編集が新しいページを作成したかを確認します。APIでは投稿をフィルタリングしてページ作成のみを表示することはできないため、自分でフィルタリングする必要があります。これはおそらく上記のオプションよりはるかに高速ですが、それでもウィキペディアには遅すぎます:
User:Svickのクエリは次のようになります。http://en.wikipedia.org/w/api.php?action = query&list = usercontribs&ucuser = Svick&ucprop = title | flags&uclimit = max
XMLのすべてのページのリビジョンに関する情報が含まれているstub-meta-historyダンプ(英語版のWikipediaでは32 GB圧縮)をダウンロードします。これを確認して、各ページの作成者を見つけることができます(改訂が削除されていない場合)。
上のウィキメディアToolServerを、私は実行スクリプト定期的にテーブルを更新する(もともと私が書かれていない)u_svick_enwiki_page_creators_p
各ページを作成したユーザーに関する情報が含まれています、。このテーブルには、Toolserverの他のユーザーはアクセスできますが、一般にはアクセスできません。
まとめると、良い解決策はなく、32 GBのデータをダウンロードして解析するか、Toolserverアカウントを取得して、前述の表を使用するという2つの選択肢があります。
Wikimedia 1.23以降、これはパラメーターのオプションを使用Usercontribs
してAPIのモジュールで実行できます。new
ucshow