1. Lära sig
  2. /
  3. Courses
  4. /
  5. Python で学ぶ API 入門

Connected

exercise

APIのレート制限を守る

これまで学んだエラーハンドリングを実践してみましょう。この演習では、短時間にサーバーへ過剰なリクエストを送ってしまうことで発生する「レート制限エラー」に遭遇します。スクリプトが失敗しないよう、レート制限を回避する対策を実装して修正しましょう。

あなたの音楽ライブラリには3,500曲以上が含まれています。各トラックの Length プロパティを確認して、最も長いトラックを探してみます。

ただし問題があります。/tracks API は1ページあたり最大500件まで、かつ1秒あたり1リクエストというレート制限があります。現在のスクリプトは短時間にリクエストを送りすぎています。これを修正しましょう!

requests と time パッケージはすでにインポート済みで、次の変数を用意しています。

longestTrackLength = 0
longestTrackTitle = ""
headers = {'Authorization': 'Bearer 8apDFHaNJMxy8Kt818aa6b4a0ed0514b5d3'}
page_number = 1

Instruktioner

100 XP
  • まずはコードを変更せずに実行してみてください。コンソールに 429 Client Error が表示され、短時間に過剰なリクエストを送っていることがわかります。
  • time パッケージの sleep メソッドを使い、while ループの最後に「3秒の待機」を追加してスクリプトを修正してください。