Все, от НАСА до криптовалют и многого другого…

Интерфейсы прикладного программирования, чаще называемые API, являются важными инструментами, на которых работают многие приложения и веб-сайты. По сути, эти компоненты работают за кулисами, чтобы разрешить авторизованным приложениям (а в некоторых случаях и отдельным пользователям) доступ к данным и возможность взаимодействовать с внешними службами. К счастью для нас, разработчиков, существует множество бесплатных и многоуровневых API, которые мы можем интегрировать в наши приложения. Сегодня мы собираемся изучить 5 из этих API и посмотреть, что они могут предложить.

1. Открытые API НАСА

Открытые API-интерфейсы НАСА на самом деле представляют собой набор из более чем дюжины API-интерфейсов, которые предоставляют тонны планетарной информации о погоде, спутниковой информации, изображений и т. д. После того, как вы получили бесплатный ключ авторизации, вы ограничены 1000 запросов в час. Одним из моих любимых API в этой коллекции является Astronomy Picture of the Day.

import requests
url = "https://api.nasa.gov/planetary/apod?api_key=<YOUR_API_KEY>"
response = requests.get(url)
print(response.json())

Если вы перейдете по URL-адресу, указанному в ответе, в своем веб-браузере, вы сможете увидеть изображение.

2. API открытых библиотек

Еще одна бесплатная коллекция API — это Open Library APIs. Эта коллекция позволяет нам искать все, что связано с книгами. Он даже позволяет несколькими способами находить книги, авторов, темы и многое другое, используя имена, ISBN, OCLC и LCCN. Вы даже можете искать текст в книгах!

import urllib
import requests
query = "The Pragmatic Programmer"
query = urllib.parse.quote_plus(query)
url = f"http://openlibrary.org/search.json?title={query}"
response = requests.get(url)
print(response.json())

3. API монет

Coin API не является полностью бесплатным, но у него есть бесплатный уровень, который вы можете использовать для получения последних рыночных данных по криптовалютам. Используя бесплатную версию, вы можете отправлять только 100 запросов в день, однако можно перейти на более высокий уровень по разумной цене.

import requests
url = "https://rest.coinapi.io/v1/exchangerate/BTC/USD"
headers = {"X-CoinAPI-Key" : "<YOUR_API_KEY>"}
response = requests.get(url, headers = headers)
print(response.json())

4. API новостей

Еще один API, который не является полностью бесплатным, но имеет уровень бесплатности, — это News API. Этот замечательный инструмент позволяет получать новостные статьи из авторитетных источников новостей и блогов. Опять же, если вы решите использовать бесплатный уровень, вы будете ограничены количеством запросов, которые вы можете отправить, а также не сможете получать новые статьи в режиме реального времени. Тем не менее, этот API по-прежнему может быть отличным инструментом, который можно добавить в свой набор инструментов.

import requests
url = "https://newsapi.org/v2/everything?q=cryptocurrency&apiKey=<YOUR_API_KEY>"
response = requests.get(url)
print(response.json())

5. API-интерфейс Spotify

Хотите улучшить свои впечатления от Spotify? Не ищите дальше, потому что у них тоже есть API. Получение идентификатора клиента и секрета для вашего приложения занимает всего несколько минут. Если у вас есть это, вы можете использовать множество конечных точек для получения информации об исполнителях, альбомах и т. д. Мало того, вы можете добавлять/удалять/обновлять элементы в своих плейлистах. Для всех разработчиков Python есть модуль Spotipy, который еще больше упрощает взаимодействие с Spotify API.

import requests
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials
client_id = "<YOUR_CLIENT_ID>"
client_secret = "<YOUR_CLIENT_SECRET>"
client_credentials_manager = SpotifyClientCredentials(client_id = client_id, client_secret = client_secret)
spot = spotipy.Spotify(client_credentials_manager = client_credentials_manager)
query = "1812 Overture"
search_result = spot.search(query, limit = 10, offset = 0, type = 'track', market = None)
print(search_result)

БОНУС: Скучный API

И последнее, но не менее важное: Bored API. В двух словах, цель этого забавного API — предложить вам действия, которыми вы можете заняться, если вам скучно.

import requests
url = "https://www.boredapi.com/api/activity/"
response = requests.get(url)
print(response.json())

Последние мысли

Мы рассмотрели несколько API-интерфейсов, которые помогут улучшить ваши проекты, от просмотра крутых фотографий из НАСА до предложений о том, что делать, если вам скучно. Хотя не все они полностью бесплатны, все же можно собрать много информации, чтобы сделать их использование стоящим. В комментариях ниже дайте мне знать некоторые из ваших любимых API, я хотел бы услышать, как вы их используете. До следующего раза, ура!

Читайте все мои статьи бесплатно с моей еженедельной рассылкой, спасибо!

Хотите прочитать все статьи на Medium? Станьте членом Medium сегодня!

Ознакомьтесь с некоторыми из моих последних статей:











Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.