5 бесплатных и забавных API-интерфейсов для обучения, личных проектов и многого другого!
Публичные API - это круто!
Только в публикации Towards Data Science есть более 50 статей, посвященных API, поэтому я не буду вдаваться в подробности введения. API в основном позволяют вам взаимодействовать с некоторыми инструментами или услугами (которые могут быть предоставлены буквально кем угодно).
Вы можете использовать API-интерфейсы, чтобы получить какую-то информацию из источника данных, а затем использовать ее в своем собственном скрипте или приложении. Публичные (открытые) API хороши тем, что они позволяют любому стороннему разработчику создать что-то, что может подключаться к существующей службе.
Существуют популярные API для выполнения «серьезных вещей», таких как отслеживание данных о запасах временных рядов или предоставление обновлений о качестве воздуха. Мы не будем касаться их в этой части, так как я хотел поделиться некоторыми забавными API-интерфейсами, с которыми вы можете экспериментировать, пока вы учитесь взаимодействовать с API или даже создаете его.
Вы даже можете создать простой личный проект с одним из них, чтобы узнать, как подключить приложение к API с любого языка, который вы в настоящее время изучаете.
Давайте приступим!
1. PlaceGOAT - Бесплатные случайные фотографии коз
Я думал, что начну с очаровательного козленка.
Это действительно простой GET API, с помощью которого вы можете создавать изображения коз. Хотел бы я сказать больше, но это действительно так. Вот ссылки на основной сайт и репозиторий Github.
Вы можете указать ширину и высоту в пикселях изображения, которое хотите сгенерировать, следующим образом:
http://placegoat.com/width/height
Если вы просто хотите протестировать библиотеку requests
на Python, это будет отличным местом для начала. Если вам нужна идея, попробуйте написать сценарий, чтобы ежедневно получать изображение козы и каждое утро отправлять его своей второй половинке (или своей маме), чтобы напоминать им о том, как сильно вы заботитесь о них. Это будет лучший вариант завтрака в постели.
2. PokéApi - база данных покемонов для основных игр.
Покемон! Надо * получить их всех, покемон!
RESTful PokéApi бесплатен для использования и позволяет ПОЛУЧАТЬ информацию из всеобъемлющей базы данных обо всем, начиная с игр Pokémon, от первых выпусков Red и Blue до Sword and Shield.
База данных действительно обширна. Вы можете получить что угодно: от способностей покемонов до триггеров эволюции и твердости ягод. Проверьте главный сайт PokéApi и документацию для получения дополнительной информации. Если вас интересует оболочка для конкретного языка, проверьте раздел «Библиотеки оболочек». Например, вы можете установить интерфейс Pokebase Python для использования непосредственно в ваших скриптах Python, вместо того, чтобы вызывать API с библиотекой requests
.
Я не знал, что ягоды можно классифицировать по твердости. Я хотел узнать больше, поэтому перешел по этой ссылке:
https://pokeapi.co/api/v2/berry-firmness/
Обычно, когда вы вызываете конечную точку API, вы также должны указать идентификатор или имя, чтобы получить информацию о конкретной точке данных. В PokéApi говорят, что если вы вызываете конечную точку без идентификатора или имени, вы получите список по умолчанию, содержащий до 20 ресурсов, доступных для API. В этом случае существует 5 возможных результатов для конечной точки «твердость ягод», поэтому вы увидите, что все они возвращаются в формате JSON, когда вы вызываете ссылку выше.
Пришло время отметить, что при использовании полностью открытых API-интерфейсов следует помнить о том, как часто вы вызываете конечные точки службы. PokéApi удалил ограничение скорости (конфигурация API, определяющая, сколько запросов может быть выполнено за интервал времени), но по-прежнему напоминает пользователям ограничивать частоту их запросов, чтобы снизить расходы на хостинг. В своей политике добросовестного использования они говорят, что люди должны локально кэшировать запрошенные ресурсы и что DDoS-атаки приведут к постоянной блокировке IP-адресов. Будьте ответственным!
3. API Рика и Морти - персонажи, локации и многое другое от Рика и Морти.
Рик и Морти!
Этот API является RESTful и позволяет использовать GraphQL для запроса к нему. Они также удобно связывают вас с документами GraphQL, если вы новичок в языке запросов. Вы можете использовать API, запрашивая метаданные GET
о персонажах, местах и эпизодах шоу.
Чтобы получить информацию о персонаже из шоу, вы должны указать его идентификатор в конечной точке персонажа следующим образом:
https://rickandmortyapi.com/api/character/5
Здесь поставка «5» дает нам информацию о персонаже Джерри Смита. Вы также видите в конце связанное изображение персонажа, поэтому, если вы хотите попрактиковаться в загрузке файлов из API, это может быть хорошим местом для начала.
Посетите основной сайт и документацию для получения дополнительной информации. Существует также множество библиотек- оболочек для разных языков от нескольких авторов, так что проверьте их, если вы предпочитаете их. Его реализацию на Python можно найти здесь. Кроме того, если вы знакомы с JavaScript и заинтересованы в участии в проекте с открытым исходным кодом, вы можете ознакомиться с API Рика и Морти на Github.
4. icanhazdadjoke - База данных отцовских анекдотов
Кто не любит отцовские шутки?
Я не уверен, учитываются ли мои каламбуры, связанные с API, но я определенно люблю всевозможные «плохие» шутки.
Вы можете использовать API icanhazdadjoke, чтобы получить отцовскую шутку из сервиса. В документации по API приведены примеры взаимодействия с конечными точками API с помощью curl
.
curl
- это удобный инструмент, который можно использовать со своего терминала для передачи данных на сервер или с сервера. В этом случае вы можете проверить это, используя HTTP для ПОЛУЧЕНИЯ определенного URL. Например, вы можете попробовать в своем терминале следующее:
curl -H "Accept: text/plain" https://icanhazdadjoke.com/
Аргумент командной строки -H
позволяет включать один параметр, который в данном случае является «Accept: text/plain», из дополнительного заголовка в запросе. Эта модификация позволяет вам указать тип вывода вашего запроса, который здесь будет просто текстом. Вы также можете установить его в JSON ( Accept: text/html
) или HTML ( Accept: Application/json
), если вам это нужно.
Также есть конечная точка, которую вы можете использовать для поиска конкретных шуток, соответствующих определенному ключевому слову.
Было бы интересно попрактиковаться в поиске нескольких ключевых слов, вызвав эту конечную точку и сохранив результаты в базе данных. Тогда у вас будет локальная копия анекдотов на основе указанных вами ключевых слов.
Посетите основной сайт и документацию для получения дополнительной информации. Также существует конечная точка запроса GraphQL, которую вы можете использовать для запроса API, если вы хотите загружать данные таким образом.
5. Генератор злого оскорбления - средняя база данных
… этот сайт подлый.
Предпосылка действительно проста: вы вызываете API и получаете оскорбление.
Как и в случае с API козла, мне особо нечего сказать здесь.
Вы можете указать язык и формат ответа на оскорбление. Ради интереса я хотел посмотреть, действительно ли подойдет другой язык, поэтому попытался получить оскорбление по-испански:
https://evilinsult.com/generate_insult.php?lang=es&type=json
«Mala leche» буквально переводится с английского как «плохое молоко». В разговорной речи вы используете его, чтобы описать кого-то, кто действует недобросовестно, или кого-то в плохом настроении.
Вы также можете использовать этот API как действительно простой для практики выполнения запросов. Загляните на основной сайт и его (довольно простую) документацию, если хотите изучить.
И это все!
Я надеюсь, вы попробуете поработать с одним из них, когда начнете знакомиться с API или просто ищете что-то интересное для работы. Обязательно ответственно обращайтесь к API, поскольку они общедоступны и предназначены для бесплатного использования всеми. Слишком частое пингование их может привести к блокировке вашего IP-адреса, что, если вам нравятся картинки с козами (или какой-либо другой сервис, который вы используете), не будет хорошо.