[C#] Wikipedia の特定のカテゴリーの記事一覧を取得する(声優一覧の取得・名字一覧の取得)

Web ServiceMediaWiki,Wikipedia

Wikipedia が使用しているシステム MediaWiki の API を使って、特定のカテゴリー(Category:日本の男性声優Category:日本の女性声優Category:日本語の姓 など)に属する記事の情報を取得します。

サンプルコード

使う API の使用はこちら。API:Categorymembers - MediaWiki

C# (RestSharp、JSON.NET 使用)で書くとこのような感じです。

https://gist.github.com/jz5/0d8e6c8396db3664c242004e85dcb3b1

ポイントは、Wikipedia にページ送りがあるように、一覧をまとめて取得できず、すべてを取得するには、頭から順に取得していく必要があります。レスポンスにある cmcontinue パラメーターの値を使うことで、続きの情報を順番に取得できます。

結果

Category:日本の女性声優 では、2020/4/12 現在、「このカテゴリには 4,873 ページが含まれており」とありますが、取得した結果、4,870件でした。Wikipedia のページ上で200ページずつ進めて取得したデータと比較しましたがずれは無かったので、ページ総数はキャッシュ等でずれが生じるときがあるのかも?

試しに取得したデータです。

Creative Commons — 表示 - 継承 3.0 非移植 — CC BY-SA 3.0 のもとで公表されたウィキペディアの項目Category:日本の女性声優Category:日本の男性声優Category:日本語の姓 を素材として二次利用しています。

Web ServiceMediaWiki,Wikipedia

Posted by jz5