Path of Exile英語wiki Data query APIの使い方

こんなものに需要があるとは思えないが、一応備忘録として書いておく。

概要

PathofExile公式wikiのAPI
https://pathofexile.gamepedia.com/Path_of_Exile_Wiki:Data_query_API
について説明する。といっても内容はほとんど上のURLに書いてある。


ちなみにPoEには公式APIもある。
https://app.swaggerhub.com/apis-docs/Chuanhsing/poe/1.0.0#/
https://www.reddit.com/r/pathofexiledev/comments/7aiil7/how_to_make_your_own_queries_against_the_official/
https://www.pathofexile.com/developer/docs/api-resources
この辺りは見たことがある。使ったことはない。
公式APIはトレードの相場やラダー、公開状態のキャラ情報を見るのには優れているが、ゲーム自体のデータを取ることは(多分)できない。
一方wikiのAPIはwikiにあるスキルジェム、全アイテムの情報をクエリを飛ばすことで取得できる。

使い方

例:

https://pathofexile.gamepedia.com/api.php?action=cargoquery&tables=items&fields=name&where=rarity=%22Unique%22%20AND%20class=%22Daggers%22&limit=5&group_by=name

上をクリックしてもらえばわかるがユニークダガーの情報を得ている。api.phpがAPIのエントリで、action=cargoqueryでそのあとに記述されたクエリを実行する。cargoquery自体は多分MediaWikiが提供してる機能で、大体普通のSQL構文が使える。一度に500までしか結果を得られないので、それ以上の結果を得たい場合はoffset=500とかで指定する必要がある。詳しくは
https://pathofexile.gamepedia.com/api.php?action=help&modules=cargoquery
またformat=jsonとかを指定すると出力の形式を変えられる。有用。

一応cargoquery以外のactionも指定することはできる。が他の機能はWiki自体の作成に使うものが多そう。
https://pathofexile.gamepedia.com/api.php?action=help&modules=main

使えるTableの種類

一覧がhttps://pathofexile.gamepedia.com/Special:CargoTablesにある。
正直乱立してる感が否めない。私が使ったことのあるやつだけ説明しておく。

スキルデータ1
https://pathofexile.gamepedia.com/Special:CargoTables/skill
スキルの説明文、アイコン画像等がある。

スキルデータ2
https://pathofexile.gamepedia.com/Special:CargoTables/skill_gems
またスキルの説明文(なんでや)。ジェムのタグがある。

スキルデータ3
https://pathofexile.gamepedia.com/Special:CargoTables/skill_levels
スキルのレベルごとの必要経験値、内容、Requirementがまとめられてる。

スキルデータ4
https://pathofexile.gamepedia.com/Special:CargoTables/skill_stats_per_level
各スキルのレベルで変化する要素ごとに数値がまとめられてる。経験値、Requirement以外ならこっちの方が使いやすいと思う。

アイテムデータ
https://pathofexile.gamepedia.com/Special:CargoTables/items
全アイテム(MTXまでも)の種類(class)、ベースアイテム、レアリティ、Requirement、インベントリの画像等様々な情報がまとめられてる。

アーマーデータ
https://pathofexile.gamepedia.com/Special:CargoTables/armours
全ユニーク、ベースアイテムの防具のArmour,Eva,ESの可変値が全て記されている。

武器データ
https://pathofexile.gamepedia.com/Special:CargoTables/weapons
武器のAS,ダメージ、DPSが記されている。

アイテムUpgradeデータ
https://pathofexile.gamepedia.com/Special:CargoTables/upgraded_from_groups
あるアイテムから別のアイテムを作れる場合(一番多いのはカード)、その組が記されている。
https://pathofexile.gamepedia.com/Special:CargoTables/upgraded_from_sets
これと組み合わせて使う用に作られてる。

画像データ

テーブル中にIconとかの項目で、 File:Prophecy inventory icon.pngとか書いてあるがこれは画像のURLではない。https://pathofexile.gamepedia.com/File:Prophecy_inventory_icon.png
上のURLを見てもらえばわかるが画像の投稿ページである。
ただこのページから画像本体のURLを取得することはできるので、ひと手間かかるが画像は得られる。(HTMLを取得してog:imageで検索)

今後

日本語wikiを新たに作り直そうと画策してます。現状の日本語Wikiは両方管理者不在で、ちょいちょい荒らされ始めているので。GGGが日本語対応するっていうしね。
とりあえずユニークアイテムのページは下の画像みたいなページが生成されるようなスクリプトを書きました。

画像1

とはいっても日本語訳は定型文を正規表現つかって変換してるだけなんで、半分以上手打ちが必須。。Google翻訳APIもつかってみたがModはちゃんと文章になってないからまともなのできず。もっと上手くできそうだが自然言語処理とかなんもわからんしなあ。(まあWeb言語も全然わかってないが)

できる限りの技術を用いて、なるべく一人で頑張りたいと思っていたが、ユニークアイテムだけで997個も翻訳すべきファイルができてしまった。まだwikiにどこまでのデータを載せるか決めていない準備段階なので2か月後、リーグが落ち着いたあたりでDiscordとかで協力を呼びかけようかなと。




この記事が気に入ったらサポートをしてみませんか?