Web APIの利用
Web APIとは
APIはApplication Programming Interfaceの略で、プログラムからアプリケーションを利用できるように用意されたもので、開発者(プログラマー)向けのアプリケーションだと思っても良い。
Web APIはWebを介して使用するAPIで、近年ではAPIというとWeb APIを指していることが多い。
Web APIとスクレイピング
Web APIで実現できることは、スクレイピングを用いて実現できることも多い。ただし、APIはサービス提供側が開発者向けに公開しているのに対して、スクレイピングはHTMLコンテンツをコンピュータで強引に解析するもので、公式にサポートされた方法ではない。
スクレイピングは公式にサポートされた方法でないため、Web APIを利用する場合と比べて以下のようなデメリットがある。
そのため、スクレイピングがしたいと思った場合、まずAPIが用意されていないか、代替手段はないか確認するのが良い。
API使用上の注意点
APIには、サーバーへの負荷を抑えるため、「リクエストは1秒に1回まで」や「1日に1万回まで」といったような実行回数制限が設定されていることが多い。テスト実行時では取得するデータが少なく問題が起きないが、本番運用時では取得するデータ数が増えて障害がでることもあるため、利用回数の見積もりと設計が必要になる。どうしてもAPI利用回数が実行回数制限内に収まらない場合は、APIの運営会社に制限緩和の相談をすると対応してくれる場合もある。その際、事前に追加の費用をどのくらい用意できるか決めておくのが良い。
また、有料のAPIキーには有効期限がある場合もあるため、本番運用時はAPIキーの更新イベントを忘れないように注意する必要がある。
Web APIを使ってみる
3. 図書館API仕様書を確認する
4. 図書館API仕様書に従って、Pythonで以下の処理を記述する
appkey = "<appkey>"
url = f"https://api.calil.jp/library"
param = {"appkey":appkey, "pref":"神奈川", "city":"横浜", "format":"json", "callback":"no"}
res = requests.get(url, param).json()
for library in res:
print(library["formal"])
# 神奈川県立図書館
# 横浜市中図書館
# 横浜市中央図書館
# 横浜市保土ケ谷図書館
# 横浜市南図書館
# ...