[C#] 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:日本語の姓 を素材として二次利用しています。