はじめに
タイトルどおり、Pythonを使ってこちらの湧き水APIを叩いてみました。
開発環境
- OS Windows 10(NVIDIA GTX 1650Ti,16GB RAM, i5-10300H CPU)
- Visual Studio Code 1.73.1
- Python 3.9
実際にコード書いていきます
初めにcurlコマンドでAPIを叩いてみる
Windowsのコマンドプロンプトだと日本語入っているとうまくできないので
一旦「https://livlog.xyz/webapi/springWater?q=愛知県」
をブラウザでURLを入力し、また再度URLをコピーします。
curl -s "https://livlog.xyz/webapi/springWater?q=%E6%84%9B%E7%9F%A5%E7%9C%8C"
コマンドプロンプトに戻ってcurl
を使うと
愛知県の湧き水スポットがズラッと表示されました^^
今度はPythonで!
まずは今回使っていくrequestモジュールをpipインストールします。
pip install requests
仕様書を確認
今回はGETメソッドを使っていくので、
import requests
url = "https://livlog.xyz/webapi/springWater?q=愛知県"
response = requests.get(url)
print(response.text)
Pythonのrequestsをインポートし、引数として、WEBサイトのURLを指定します。
仕様書を確認するとクエリパラメータqには実際に調べたい都道府県名を入力すればよいので、今回は『愛知県』を入れてみました。
最後にgetメソッドを使い、テキストを表示させれば完了!
たくさんの湧き水スポットが出てきました(汗
ここから抽出するには
このままだと正直見にくいので
print(response.json()["result"][0])
resultの1番初めに出てくる湧き水スポットを取り出すと
これでめちゃめちゃ見やすくなりました!
JSONとは?
APIで標準的に使われているデータ形式のこと
JavaScriptの書き方を元にしているようです。
まとめ
- VSコードでAPIを利用してみた。(
curl
を使えばコマンドプロンプトでもできる) - JSON形式はAPIでよく使われるデータ形式!
その他
formatを用いた書き方
import requests
pref = "愛知県"
url2 = f"https://livlog.xyz/webapi/springWater?q={pref}"
responce = requests.get(url2)
print(responce.text)
コマンドライン引数を用いた書き方
import requests
import sys
pref = sys.argv[1]
url3 = f"https://livlog.xyz/webapi/springWate?q={pref}"
responce = requests.get(url3)
print(responce.text)
実行方法
コマンドプロンプトにて
python wakimizu.py 愛知県
とすれば同じ結果がでてきます。
Pythonで書かなくてもAPIは簡単に使えます
VSCodeでREST Clientという拡張機能をインストールしたら、
- 利用したいAPIのURLを貼り付ける
- 「ファイル名.http」で保存
- 「Send Request」をクリック
で右のように返ってきました。しかもさっきより見やすい。