Все, от НАСА до криптовалют и многого другого…
Интерфейсы прикладного программирования, чаще называемые 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 сегодня!
Ознакомьтесь с некоторыми из моих последних статей:
Быстрый способ поиска PDF-файлов с помощью Python
Но действительно ли он лучше?python.plainenglish.io
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.