Настройка заголовков запроса
Многие API требуют, чтобы пользователи предоставляли ключ API, который выдаётся после регистрации в сервисе. Ключ, как правило, передаётся в заголовке запроса, а не в виде параметров.
В документации Yelp API сказано: «Для аутентификации вызовов API с помощью ключа API установите значение HTTP-заголовка Authorization в формате Bearer api_key.»
Вы создадите словарь для передачи этих данных в get(), обратитесь к API для получения списка кафе с наивысшим рейтингом в Нью-Йорке и разберёте ответ.
pandas (как pd) и requests уже загружены. Адрес конечной точки API хранится в переменной api_url, ключ — в api_key. Параметры содержатся в словаре params.
Это упражнение является частью курса
Эффективный импорт данных с pandas
Инструкции к упражнению
- Создайте словарь
headers, который передаёт отформатированную строку с ключом в значение заголовка"Authorization". - Выполните запрос к Yelp API (
api_url) с помощьюget(), передав необходимые заголовки и параметры. Сохраните результат в переменнуюresponse. - Извлеките данные JSON из
response. Сохраните результат в переменнуюdata. - Загрузите значения
"businesses"изdataв датафреймcafesи выведите столбецnames.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create dictionary that passes Authorization and key string
headers = {____: "Bearer {}".format(____)}
# Query the Yelp API with headers and params set
response = ____
# Extract JSON data from response
data = ____
# Load "businesses" values to a dataframe and print names
cafes = ____
print(cafes.name)