8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PythonでLeague of Legendsの試合情報等を取得する方法

Posted at

League of Legends(以下LoL)ではRiotGames APIを使って試合結果やプレイヤーのデータを取得することができます。
代表的なのはOP.GG(https://jp.op.gg/l=ja)というLoLのデータサイトで、APIを使ってサモナー個人のデータやチャンプの勝率などを表示しています。

今回はPythonでデータを取得するための準備や方法について記していきます。
(他の言語については扱っていないですが、検索してみればやられている方もいると思うので探してみてください)

実行環境

  • Python3 (ver: 3.7.3)
  • Anaconda (ver: 2019.07)
    • Jupyter Notebook (ver: 6.0.0)

準備

予めAPIキーの取得と、Pythonでデータを取得できるライブラリRiot-Watcherをインストールする必要があります。

1. APIキーの取得

まずは、以下のサイトに行ってお持ちのアカウントでログインしてください。日本サーバーのアカウントでも大丈夫です。(アカウントを持ってない方はLoLの公式アカウントから作成してください。)
https://developer.riotgames.com/

できましたら、ページの下の方にある「私はロボットではありません」にチェックを入れ、「REGENERATE API KEY」というボタンをクリックします。
APIキー.png
これでAPIキーが作成できました!画像の赤い丸で囲ったものが実際のAPIキーです。(頭文字が「RGAPI」で始まる)

※注意※
発行される開発用APIは有効期限が発行してから24時間以内なので、期限を過ぎたら同じ手順で新しくAPIキーを発行する必要があります。ただし、アプリの申請をして承認されると有効期限のないAPIがもらえるみたいです。詳しくは以下のページを参照してください。
http://orolog.hatenablog.jp/entry/2018/02/19/221553

2. Riot-Watcherのインストール

続いて、Pythonで試合データを扱えるライブラリRiot-Watcherをインストールします。コマンドプロンプトで以下のコマンドを入力してインストールしてください。

pip install riotwatcher

Riot-Watcherのgithubは以下にあります。
https://github.com/pseudonym117/Riot-Watcher

データの取得

準備が整ったら早速データを取得してみましょう。

from riotwatcher import RiotWatcher

API_KEY = '[APIキー]'
watcher = RiotWatcher(API_KEY)

RiotWatcherに先ほどの自身のAPIキーを渡すことでデータを取得できます。
試しに韓国のLoLプロプレイヤー、Faker選手(OPGG: https://www.op.gg/summoner/userName=Hide%20on%20bush)のサモナーデータを見てみましょう。

region = 'kr' # 鯖
name = 'Hide on bush' # サモナーネーム

summoner = watcher.summoner.by_name(region, name)
summoner

実行結果はこちらです。(ID等はあらかじめ暗号化されていますが、念のため隠しています)
サモナー.png

日本サーバーのサモナーを調べたい場合は、regionを'jp1'に変えてください。

続いて、最新のマッチリストを見てみましょう。

match = watcher.match.matchlist_by_account(region, summoner['accountId'])
match

マッチ.png

このようにして様々なデータを取得することができます。

その他に関しては以下のRiotWatcherのドキュメンテーションを参考にしてください。
https://riot-watcher.readthedocs.io/en/latest/index.html

最後に

わからないところや間違っている箇所がありましたら、ご指摘いただけるとありがたいです。

次回はRiotWatcherの様々なパッケージがどのような役割を果たしているのかについて投稿したいと思います。

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?