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