3
2

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.

ポケモングローバルリンクからデータ取得(QRパーティ)

Posted at

image.png

目的

ポケモンレーティング対戦環境分析

構想

PokemonGlobalLink:https://3ds.pokemon-gl.com/

PGLで取得することができる(とわかった)データを使って、レーティング対戦環境を分析する
ちなみにPGLからは以下のようなデータを取得することができる

  • QRレンタルパーティ
  • ポケモン使用率ランキング
  • 採用技、持ち物などのランキング

QRレンタルパーティのデータを取ってみた

とりあえずQRレンタルパーティのデータをとってみました
なんと現在19000件を超えるパーティがあるようなので何かの役に立つかも
image.png

レンタルパーティデータの取得

qiita.rb
# ライブラリのインポート
import requests
import pandas as pd

# POSTに必要なurl,headers,data
url = "https://3ds.pokemon-gl.com/frontendApi/battleTeam/searchBattleTeam"
headers = {
"Host": "3ds.pokemon-gl.com",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)"
              " Chrome/71.0.3578.98 Safari/537.36",
"Accept": "*/*",
"Accept-Language": "ja,en-US;q=0.9,en;q=0.8",
"Accept-Encoding": "gzip, deflate, br",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"X-Requested-With": "XMLHttpRequest",
"Referer": "https://3ds.pokemon-gl.com/rentalteam/usum/search",
"Content-Length": "147",
"Connection": "keep-alive",
"Origin": "https://3ds.pokemon-gl.com",
}
payload = {
    "languageId":1,
    "generationId":4,
    "battleType":1,
    "pokemonId":'' , #今回は指定しない
    "wazaId":'',
    "tokuseiId":'',
    "itemId":'',
    "displayNumber":3000, #3000件取得
    "page":1,
    "timezone": "Asia/Tokyo",
    "timeStamp":1490804393369
}

r = requests.post(url, headers=headers, data=payload)

Chromeの開発者ツールを見ながらやってみました
https://3ds.pokemon-gl.com/frontendApi/の後を変えることでいろいろなAPIが使用できるようです
またpokemonId、wazaIdなどを指定して投げることもできます
今回は何も指定せず使用回数上位から3000件のパーティを持ってきました。

またQRレンタルパーティ内のポケモン、技、とくせい、持ち物の詳細は下記urlで見れました

qiita.rb
url = "https://3ds.pokemon-gl.com/frontendApi/battleTeam/getBattleTeamDetail"
headers = {
"Host": "3ds.pokemon-gl.com",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
"Accept": "*/*",
"Accept-Language": "ja,en-US;q=0.9,en;q=0.8",
"Accept-Encoding": "gzip, deflate, br",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"X-Requested-With": "XMLHttpRequest",
"Referer": "https://3ds.pokemon-gl.com/rentalteam/usum/search",
"Content-Length": "147",
"Connection": "keep-alive",
 "Origin": "https://3ds.pokemon-gl.com",
}
payload = {
"languageId": 1,
"generationId": 4,
"battleTeamCd": XX-XXXX-XXXX, #QRパーティのidを入れる
"timeStamp": 1490804393369
}

集計してみた

とりあえず使用回数上位3000までのIDとその詳細を取ってAccessテーブルにまとめてみました
こんな感じ
image.png

技並びの違い、後続での使用を考えて技単位のレコードにしてみました
せっかくなので色々いじってみます

パーティ登場回数ランキング
image.png
ボーマンダ、ギルガルドの順位が低かったりとおやっと思うところもあるがそれなりに環境を反映しているようではある

だいばくはつするランドロスの特徴分析
image.png

だいばくはつするランドロスの殆どがタスキもち、ステロを撒いて仕事が終わったらばくはつする様子が目に浮かびます
スカーフを採用した場合はとんぼがえりももれなく採用するようです

まあ当たり前ですね・・・

今後

それなりに役に立ちそうなデータが取れたようです
今後はポケモン種族値、わざのマスタデータを作成していろいろ進めていきたいです

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?