🚆
駅すぱあと Python SDKを使って駅簡易情報を取得する
本記事はヴァル研究所の支援として作成された記事です
駅すぱあとはAPIを公開しており、駅情報や経路探索などをAPI経由で行えます。メソッドはすべてGETメソッドで、情報取得系のみです。レスポンスはJSONまたはXMLで返ってきます。
この駅すぱあと APIを利用しやすくするSDKを開発しはじめました。SDKはPythonで作っており、CLIやWebサービスなどから利用できます。
今回は、スタンダードプランで提供されている駅簡易情報取得APIに対応したので、その使い方を解説します。
必要な情報
SDKを利用する際にはAPIキーが必要です。無料トライアルがあるので、こちらから取得してください。
注意点
- SDKは非公式です。公式サポートへの問い合わせはご遠慮ください
インストール
インストールは pip
コマンドで行います。
pip install ekispert
初期化
先ほど取得したAPIキーを使ってSDKを初期化します。
from ekispert.client import Ekispert
client = Ekispert("YOUR_API_KEY")
駅簡易情報検索条件の設定
駅簡易情報検索は stationLightQuery
を使います。このオブジェクトを取得し、検索条件を設定します。
query = client.stationLightQuery()
query.name = '東京'
# 都道府県
query.prefectureCodes = [13, 14]
query.types = ['bus']
query.communityBus = 'except'
検索条件は 駅簡易情報 - 駅すぱあと API Documents 駅データ・経路検索のWebAPI にあるものを指定できます。
検索の実行
検索条件を設定したら、検索処理を実行します。結果は Point
クラスの配列になります。
points = query.execute()
エラーだった場合
エラーは例外処理で取得できます。
try:
points = query.execute()
except Exception as e:
print(e)
成功した場合
処理が成功した場合、 station
(駅情報) と prefecture
(都道府県) プロパティなどが入っています。
points[0].station.name # '東京'
points[0].prefecture.name # '東京都'
points[0].prefecture.code # 13
ソースコード
SDKのコードは以下のリポジトリにて公開しています。ライセンスはMIT Licenseです。
まとめ
駅情報の取得は、経路探索の基本になります。まだ一部の機能しか実装されていませんが、これから徐々に機能を追加していきます。ぜひお試しください。
何か不具合があれば、Issueにて連絡いただければ対応します。
Discussion