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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/354713/727fdee3-b34a-df5b-542c-6f37f281d3b4.png)


#目的
**ポケモンレーティング対戦環境分析**

#構想

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

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

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

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

とりあえずQRレンタルパーティのデータをとってみました
なんと現在19000件を超えるパーティがあるようなので何かの役に立つかも
![image.png](https://qiita-image-store.s3.amazonaws.com/0/354713/1d3c291b-f1d2-0c74-bb7e-f1dd91d144f7.png)

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

```python: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で見れました

```python: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](https://qiita-image-store.s3.amazonaws.com/0/354713/a8025322-3386-1cf6-2f1e-519bc24219c4.png)

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


**パーティ登場回数ランキング**
![image.png](https://qiita-image-store.s3.amazonaws.com/0/354713/17f1bd42-d25f-f534-7586-893228accc89.png)
ボーマンダ、ギルガルドの順位が低かったりとおやっと思うところもあるがそれなりに環境を反映しているようではある


**だいばくはつするランドロスの特徴分析**
![image.png](https://qiita-image-store.s3.amazonaws.com/0/354713/5c30da42-c797-2154-f513-81552e7803a4.png)

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

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

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