概要
楽天ウェブサービスを使用してデータ取得してみたので、そのサンプルコードをまとめてみました。
*apiキーの取得方法については割愛します。
使用環境
・Windows 11
・Python 3.12.4
準備
環境作成
pythonの仮想環境を作成する
# 仮想環境作成
python -m venv env
# 仮想環境起動
env\Scripts\activate
HTTPクライアントは requests などでもOKですが、ここでは httpx を使用します。
pip install httpx
APIキーを環境変数に設定
$env:RAKUTEN_API="YOUR_API_KEY"
サンプル
共通で以下を使います。
APIベースURL:https://app.rakuten.co.jp/services/api/Travel/
applicationId:環境変数 RAKUTEN_API から取得
地区コード
都道府県やエリアなどのコードを取得するAPIです。
施設検索(ホテル検索)で使う middleClassCode / smallClassCode を調べる際に役立ちます。
import os
import httpx
API_KEY = os.getenv("RAKUTEN_API")
API_BASE_URL = "https://app.rakuten.co.jp/services/api/Travel/"
URL = "GetAreaClass/20140210?formatVersion=2"
with httpx.Client(
base_url=API_BASE_URL,
params={"applicationId": API_KEY}) as client:
response = client.get(URL)
print(response.json())
施設検索
指定した地区コードを使って、ホテル・旅館などの施設情報を検索できます。
import os
import httpx
API_KEY = os.getenv("RAKUTEN_API")
API_BASE_URL = "https://app.rakuten.co.jp/services/api/Travel/"
URL = "SimpleHotelSearch/20170426"
PARAMS = {
"responseType": "large",
"largeClassCode": "japan",
"middleClassCode": "pref", # 都道府県
"smallClassCode": "area" # エリア
}
# 都道府県とエリアは地区コードAPIから取得できます
with httpx.Client(
base_url=API_BASE_URL,
params={"applicationId": API_KEY, **PARAMS}) as client:
response = client.get(URL)
print(response.json())
参考