APIからデータを取得する
この演習では、requests.get() を使って Yelp の Business Search API にクエリを送り、New York City のカフェ情報を取得します。requests.get() には取得先のURLが必要です。さらに Yelp API では、検索パラメータと認可ヘッダーを、それぞれ params と headers のキーワード引数に渡す必要があります。
レスポンスからは json() メソッドでデータを取り出し、pandas の DataFrame() 関数に渡してデータフレームを作成します。必要なデータは辞書のキー "businesses" の下にあります。
pandas(pd)と requests は読み込まれています。認可情報は辞書 headers に、必要なAPIパラメータは params に保存されています。
この演習はコースの一部です
pandasで効率よくデータを取り込む
演習の手順
- Yelp API(
api_url)に対してrequests.get()を使い、New York City のカフェ情報を取得します。必要なparamsとheadersは用意されています。 - レスポンスから
json()メソッドでJSONデータを抽出し、dataに代入します。 - カフェの一覧を
pandasのDataFrame()関数でデータフレームcafesに読み込みます。一覧はdataの"businesses"キーにあります。 - データフレームの
dtypesを表示し、取得できた情報を確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
api_url = "https://api.yelp.com/v3/businesses/search"
# Get data about NYC cafes from the Yelp API
response = ____(____,
headers=headers,
params=params)
# Extract JSON data from the response
data = response.____
# Load data to a dataframe
cafes = ____(____)
# View the data's dtypes
print(cafes.dtypes)