Python基礎

PokeAPIを使ってアプリを作る【初心者向け】

ポケモンの情報が公開されているAPIの「PokeAPI」を使って遊んでみようと思います。

PokeAPIの公式サイトからドキュメントを確認していきます。

 

ポケモンの情報を取得してみる

まずは基本的な情報の取得方法です。

アクセスするエンドポイントは以下を使っていきます。

https://pokeapi.co/api/v2/pokemon/{id or name}/

pokemon/のあとに、idかnameで指定します。

 

idは、ポケモン図鑑の番号に準じています。1はおなじみ、フシギダネ。151はミュウですね。

 

 

 

 

注意点として、nameで指定する時「日本語名は使えません。」

例えばフシギダネの場合「fushigidane」では表示されません。

英語名の「bulbasaur」という名前を指定する必要があります。

ちなみにピカチュウは「pikachu」でいけます。

 

エンドポイントがわかったので、続いて「ポケモンのIDと名前と画像とタイプを取得」していきましょう。

 

完成したコード

今回は「ピカチュウ」のデータを取得していきます。なのでエンドポイント(url)に「/picachu」を入れます。

import requests
url = "https://pokeapi.co/api/v2/pokemon/pikachu/"

r = requests.get(url, timeout=5)
r = r.json()

name = r['name']
id = r['id']
image =r['sprites']['front_default']
types = r['types'][0]['type']['name']

print(id)
print(name)
print(image)
print(types)

 

コードを説明します。

  • 「requests」ライブラリを入れる。
  • エンドポイント(URL)を指定する。(今回は「pikachu」にしました)
  • GETリクエストで情報を取得する。
  • json形式に変えて、変数rに代入する。
  • nameを取得して変数nameに入れる。(jsonの基礎的な使い方)
  • idを取得して変数idに入れる。
  • imageを取得して変数imageに入れる。
  • typeを取得して変数typesに入れる。
  • printで出力する。

 

実行してみる

上記のコードを実行してみます。printなので、コンソールに結果が表示されます。

25

pikachu

https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/25.png

electric

print(image)では、画像ではなくURLが返されますが、クリックするとピカチュウの画像が表示されます。ピカピカ。

まとめ

PokeAPIを使ってPythonで情報を取得してみました。

公式ドキュメントは英語で読みづらいですが、ググればいろいろ情報が出てくるので応用して「ポケモン図鑑アプリ」とか作れそうです。

エンドポイントが重要。

jsonの理解も必要(参考になったサイト