[API] 17 интересных (и забавных) API для вашего проекта
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
В этой статье я собрал несколько интересных сервисов с API, многие из которых вы можете использовать как основу для вашего приложения. Другие же отлично подходят как уникальные фичи, которые помогут разнообразить опыт использования вашей программы.
Numbers
Страница: http://numbersapi.com/
Сервис содержит много интересных фактов о числах, которыми можно похвастаться перед друзьями.
Также есть факты о датах и годах.
Использование API: http://numbersapi.com/<number>/<type>, где number — число, а type — тип факта (trivia — факт из жизни, math — математический факт, date и year — вопрос про дату (в формате MM/DD) и год). Например, получить факт о 25 октября можно по
запросу http://numbersapi.com/10/25/date: October 25th is the day in 1760 that George III becomes King of Great Britain.
С помощью этого сервиса можно сделать виджет "Этот день в истории".
База вопросов для викторин
Сайт: http://jservice.io
Если вы хотели создать викторину, то вы знаете, насколько сложно найти хорошие вопросы. Теперь же вы можете получать их в удобном формате по одному запросу. Для многих вопросов указана сложность, категория и достоверность вопроса (то есть количество людей, которые посчитали вопрос некорректным).
Получение вопроса: http://jservice.io/api/random?count=1
Пример вопроса (фрагмент):
{
"id": 92576,
"answer": "7",
"question": "When writing, many Europeans cross it; most Americans don't",
"value": 800,
"airdate": "2008-12-08T12:00:00.000Z",
"created_at": "2014-02-14T01:58:09.356Z",
"updated_at": "2014-02-14T01:58:09.356Z",
"category_id": 8472,
"game_id": null,
"invalid_count": null,
"category": {
"id": 8472,
"title": "a number from 1 to 10",
"created_at": "2014-02-11T23:28:10.844Z",
"updated_at": "2014-02-11T23:28:10.844Z",
"clues_count": 10
}
}
Чем заняться, когда скучно
Документация: http://www.boredapi.com/documentation
Сервис BoredAPI может предложить занятие на любой случай жизни: бесплатные, социальные, доступные везде и так далее.
>> http://www.boredapi.com/api/activity?minparticipants=5&maxparticipants=8 - поиск активности с участием от 5 до 8 человек
{"activity":"Play basketball with a group of friends","type":"social","participants":5,"price":0,"link":"","key":"8683473","accessibility":0.7}```
>> http://www.boredapi.com/api/activity?type=diy - выбор из категории DIY
{"activity":"Learn woodworking","type":"diy","participants":1,"price":0.3,"link":"","key":"9216391","accessibility":0.3}
Колода карт
Примеры: https://deckofcardsapi.com
Теперь для организации виртуальной карточной игры не нужно ничего лишнего. Вы можете создать (перемешанную или нет) колоду, взять карту, задать колоду по кодам карт.
>> https://deckofcardsapi.com/api/deck/new/shuffle/?deck_count=3 - создание стопки карт из 3 колод по 52 карты
"deck_id": "c3hmntqq4wne", "remaining": 156
>> https://deckofcardsapi.com/api/deck/c3hmntqq4wne/draw/?count=1 - достать и вернуть одну карту
{"code": "6D", "image": "https://deckofcardsapi.com/static/img/6D.png", "value": "6", "suit": "DIAMONDS"}
В репозитории проекта вы можете найти картинки карт и мастей, которые можно использовать в своих проектах: https://github.com/crobertsbmw/deckofcards/tree/master/static/img
http.cat
Домашняя страница: https://http.cat
Здесь собраны картинки с котиками для каждого HTTP кода, с помощью которых можно украсить страницы с ошибками. Получить соответствующую картинку можно по запросу https://http.cat/<status_code>. Также исходные файлы находятся в открытом репозитории на Github, поэтому вы можете скачать все картинки из папки https://github.com/httpcats/http.cat/tree/master/pu.../images-original и использовать их локально.
Мои любимые картинки:
Интересный факт: домен .cat выделен под сайты на каталонском языке, но люди из интернета нашли и ему ещё одно применение, и теперь на нём создаются сайты про котов.
Поиск аниме
Документация: https://kitsu.docs.apiary.io/#introduction/json:api
Здесь вы можете найти большой список аниме с тегами и другой информацией. С помощью этих данных можно сделать, например, подбор интересных тайтлов для пользователя на основе предпочтений: истории просмотров и реакции (понравилось или нет).
Пример работы с API: поиск всех результатов, содержащих слово Tokio: https://kitsu.io/api/edge/anime?filter[text]=tokio
Один из результатов (убраны некоторые аттрибуты):
{
"id": "8271",
"type": "anime",
"attributes": {
"synopsis": "Tokyo has become a cruel and merciless city—a place where vicious creatures called “ghouls”...",
"titles": {
"en": "Tokyo Ghoul",
"en_jp": "Tokyo Ghoul",
"en_us": "Tokyo Ghoul"
},
"canonicalTitle": "Tokyo Ghoul"
},
"favoritesCount": 3599,
"popularityRank": 30,
"ageRating": "R",
"posterImage": {
"original": "https://media.kitsu.io/anime/poster_images/8271/original.jpg?1597694836"
},
"episodeCount": 12,
"episodeLength": 24,
"totalLength": 288
}
Картинки с котами, собаками и лисами
Страница будет выглядеть каждый раз по-новому, если в её верхнюю часть поместить картинку, которая будет меняться при каждом новом посещении страницы.
Картинки котиков
https://aws.random.cat/meow — возвращается только ссылка на картинку или гифку. Ссылки случайные и ведут на сторонние сервера.
Каждая картинка из базы имеет номер, но API не даёт номер, а получить картинку по номеру только открыв сайт https://aws.random.cat/view/<number> и достать картинку из исходного текста страницы. Совсем простенький скрипт для этого (для более быстрого исполнения я не использую re):
from requests import get
num = int(input())
source = get(f"https://aws.random.cat/view/{num}").text
if "id="cat" in source:
print(source.split("src="")[1].split(""")[0])
else:
print("Incorrect id")
Картинки собачек
https://random.dog/woof.json — возвращает размер картинки (или gif или видео) в байтах и ссылку на неё. Все ссылки выглядят как https://random.dog/<random name>
Другие варианты запросов:
- /woof — получить название какой-нибудь случайной картинки (случайная строка)
- /doggos — названия всех картинок
- /upload — предложить свою картинку.
Картинки лисичек
https://randomfox.ca/floof/ — возвращает 2 варианта ссылки на картинку. Пути к картинкам выглядят так: https://randomfox.ca/images/<id>.jpg, где id — число от 1 до 121. Также все картинки есть в репозитории: https://github.com/xinitrc-dev/randomfox.ca/tree/master/images. Это позволяет вручную выбрать интересные картинки и использовать только их.
База знаний о Покемонах
Страница: https://pokeapi.co
Этот сервис позвляет легко получить информацию о покемонах, их способностях и типах, а также о контенте про покемонов: играх и прочем.
Формат запросов: https://pokeapi.co/api/v2/<type>/<name or id>, например https://pokeapi.co/api/v2/ability/2.
Фрагмент из ответа на запрос информации про Ditto (https://pokeapi.co/api/v2/pokemon/ditto):
{
"abilities": [
{
"ability": {
"name": "limber",
"url": "https://pokeapi.co/api/v2/ability/7/"
},
"is_hidden": false,
"slot": 1
},
{
"ability": {
"name": "imposter",
"url": "https://pokeapi.co/api/v2/ability/150/"
},
"is_hidden": true,
"slot": 3
}
]
}
Be like Bill
Репозиторий: https://github.com/gautamkrishnar/Be-Like-Bill
В меме "Be like Bill" описываются какие-то положительные качества Билла и в конце звучит рекомендация "Быть как он". API позволяет генерировать картинки с заданными или рандомными текстами.
Примеры:
- https://belikebill.ga/billgen-API.php?default=1&name=Otter — случайное качество для имени Otter
Bakon Ipsum
Документация: https://baconipsum.com/json-api/
Сервис позволяет использовать сгенерированные тексты вместо стандартного Lorem Ipsum. Можно задать количество предложений или параграфов. Пример запроса:
https://baconipsum.com/api/?type=all-meat&sentences=2 — создание текста с 2 предложениями.
Tenderloin short ribs pork chop shankle chuck, cow boudin tongue. Pancetta pastrami pork loin beef ribs, cupim tenderloin filet mignon corned beef.
Шутки
Под эту категорию подходит сразу несколько сервисов с похожими API, поэтому приведу только примеры запросов к API:
Гиковские шутки (часто про Чака Норриса): https://geek-jokes.sameerkumar.website/api?format=json:
There are only 10 types of people in the world: those that understand binary and those that don't.
Шутки от папы: curl https://icanhazdadjoke.com:
Why do you never see elephants hiding in trees? Because they're so good at it.
Шутки с конструкцией сетап-панчлайн: https://official-joke-api.appspot.com/random_joke:
"setup":"I couldn't get a reservation at the library...","punchline":"They were fully booked."
Yes or No
Главная страница: https://yesno.wtf
Если вы хотите красиво отвечать на вопросы да или нет, то этот сервис идеально подходит для вас. Для получения рандомной гифки можно использовать https://yesno.wtf/api. Ответом вам будет "answer" и ссылка на гиф. Также с шансом 1 к 10000 может выпасть ответ maybe. Чтобы получить определённый ответ, можно указать ?force=<answer>, параметр answer может
быть yes, no или maybe.
Вся информация о мультсериале "Рик и Морти"
Главная страница: https://rickandmortyapi.com
Содержит в себе информацию о героях, локациях и эпизодах мультсериала. Также имеет библиотеки на многих языках, что облегчает работу с API. Пример работы с API с помощью питоновской библиотеки:
import ramapi
print(ramapi.Character.filter(name='morty',
status='dead')) # получить список мёртвых персонажей, у которых в имени есть Морти.
Фрагмент ответа
{
"results": [
{
"id": 43,
"name": "Big Morty",
"status": "Dead",
"species": "Human",
"gender": "Male",
"image": "https://rickandmortyapi.com/api/character/avatar/43.jpeg",
"episode": [
"https://rickandmortyapi.com/api/episode/28"
]
}
]
}
Выводы
В интернете сейчас есть много бесплатных сервисов с API, которые могут разнообразить ваш сайт или послужить основой для реализации интересных фич. Возможно, вы захотите добавить что-то в свой проект прямо сейчас?
Облачные серверы от Маклауд быстрые и безопасные.
Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!
оригинал
===========
Источник:
habr.com
===========
Похожие новости:
- [Мессенджеры, Python, Twitter API, Машинное обучение, DIY или Сделай сам] Твиттер Илона Маска в телеграме и с переводом на русский
- [Научно-популярное, Биографии гиков] Генри Бессемер и радикальные перемены в металлургии
- [Информационная безопасность, IT-инфраструктура, API] Предотвращение медленных маломощных атак на приложения и API (перевод)
- [Open source, Python, Интервью] Разработчик популярного веб-фреймворка FastAPI — об истории его создания и перспективах аннотаций типов Python (перевод)
- [JavaScript, Google Chrome, API, Расширения для браузеров, Реверс-инжиниринг] Как я доделал функции за Яндекс.Музыкой
- [Настройка Linux, Разработка под Linux] Баги ради науки: как Университет Миннесоты внедрял баги в код Linux
- [TypeScript] Карманная книга по TypeScript. Часть 6. Манипуляции с типами (перевод)
- [Python] Локальный видеохостинг. Часть 0. Определяемся с правилами
- [Читальный зал, Научно-популярное] Такая разная колонизация Африки
- [Программирование, Data Mining, API, Google API, Финансы в IT] Гугл финанс перестал транслировать данные российских акций — что делать?
Теги для поиска: #_api, #_api, #_funny, #_funny_jokes, #_interesting, #_blog_kompanii_maklaud (
Блог компании Маклауд
), #_api
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 12:37
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
В этой статье я собрал несколько интересных сервисов с API, многие из которых вы можете использовать как основу для вашего приложения. Другие же отлично подходят как уникальные фичи, которые помогут разнообразить опыт использования вашей программы. Numbers Страница: http://numbersapi.com/ Сервис содержит много интересных фактов о числах, которыми можно похвастаться перед друзьями. Также есть факты о датах и годах. Использование API: http://numbersapi.com/<number>/<type>, где number — число, а type — тип факта (trivia — факт из жизни, math — математический факт, date и year — вопрос про дату (в формате MM/DD) и год). Например, получить факт о 25 октября можно по запросу http://numbersapi.com/10/25/date: October 25th is the day in 1760 that George III becomes King of Great Britain. С помощью этого сервиса можно сделать виджет "Этот день в истории". База вопросов для викторин Сайт: http://jservice.io Если вы хотели создать викторину, то вы знаете, насколько сложно найти хорошие вопросы. Теперь же вы можете получать их в удобном формате по одному запросу. Для многих вопросов указана сложность, категория и достоверность вопроса (то есть количество людей, которые посчитали вопрос некорректным). Получение вопроса: http://jservice.io/api/random?count=1 Пример вопроса (фрагмент): {
"id": 92576, "answer": "7", "question": "When writing, many Europeans cross it; most Americans don't", "value": 800, "airdate": "2008-12-08T12:00:00.000Z", "created_at": "2014-02-14T01:58:09.356Z", "updated_at": "2014-02-14T01:58:09.356Z", "category_id": 8472, "game_id": null, "invalid_count": null, "category": { "id": 8472, "title": "a number from 1 to 10", "created_at": "2014-02-11T23:28:10.844Z", "updated_at": "2014-02-11T23:28:10.844Z", "clues_count": 10 } } Чем заняться, когда скучно Документация: http://www.boredapi.com/documentation Сервис BoredAPI может предложить занятие на любой случай жизни: бесплатные, социальные, доступные везде и так далее. >> http://www.boredapi.com/api/activity?minparticipants=5&maxparticipants=8 - поиск активности с участием от 5 до 8 человек
{"activity":"Play basketball with a group of friends","type":"social","participants":5,"price":0,"link":"","key":"8683473","accessibility":0.7}``` >> http://www.boredapi.com/api/activity?type=diy - выбор из категории DIY {"activity":"Learn woodworking","type":"diy","participants":1,"price":0.3,"link":"","key":"9216391","accessibility":0.3} Колода карт Примеры: https://deckofcardsapi.com Теперь для организации виртуальной карточной игры не нужно ничего лишнего. Вы можете создать (перемешанную или нет) колоду, взять карту, задать колоду по кодам карт. >> https://deckofcardsapi.com/api/deck/new/shuffle/?deck_count=3 - создание стопки карт из 3 колод по 52 карты
"deck_id": "c3hmntqq4wne", "remaining": 156 >> https://deckofcardsapi.com/api/deck/c3hmntqq4wne/draw/?count=1 - достать и вернуть одну карту {"code": "6D", "image": "https://deckofcardsapi.com/static/img/6D.png", "value": "6", "suit": "DIAMONDS"} В репозитории проекта вы можете найти картинки карт и мастей, которые можно использовать в своих проектах: https://github.com/crobertsbmw/deckofcards/tree/master/static/img http.cat Домашняя страница: https://http.cat Здесь собраны картинки с котиками для каждого HTTP кода, с помощью которых можно украсить страницы с ошибками. Получить соответствующую картинку можно по запросу https://http.cat/<status_code>. Также исходные файлы находятся в открытом репозитории на Github, поэтому вы можете скачать все картинки из папки https://github.com/httpcats/http.cat/tree/master/pu.../images-original и использовать их локально. Мои любимые картинки: Интересный факт: домен .cat выделен под сайты на каталонском языке, но люди из интернета нашли и ему ещё одно применение, и теперь на нём создаются сайты про котов. Поиск аниме Документация: https://kitsu.docs.apiary.io/#introduction/json:api Здесь вы можете найти большой список аниме с тегами и другой информацией. С помощью этих данных можно сделать, например, подбор интересных тайтлов для пользователя на основе предпочтений: истории просмотров и реакции (понравилось или нет). Пример работы с API: поиск всех результатов, содержащих слово Tokio: https://kitsu.io/api/edge/anime?filter[text]=tokio Один из результатов (убраны некоторые аттрибуты): {
"id": "8271", "type": "anime", "attributes": { "synopsis": "Tokyo has become a cruel and merciless city—a place where vicious creatures called “ghouls”...", "titles": { "en": "Tokyo Ghoul", "en_jp": "Tokyo Ghoul", "en_us": "Tokyo Ghoul" }, "canonicalTitle": "Tokyo Ghoul" }, "favoritesCount": 3599, "popularityRank": 30, "ageRating": "R", "posterImage": { "original": "https://media.kitsu.io/anime/poster_images/8271/original.jpg?1597694836" }, "episodeCount": 12, "episodeLength": 24, "totalLength": 288 } Картинки с котами, собаками и лисами Страница будет выглядеть каждый раз по-новому, если в её верхнюю часть поместить картинку, которая будет меняться при каждом новом посещении страницы. Картинки котиков https://aws.random.cat/meow — возвращается только ссылка на картинку или гифку. Ссылки случайные и ведут на сторонние сервера. Каждая картинка из базы имеет номер, но API не даёт номер, а получить картинку по номеру только открыв сайт https://aws.random.cat/view/<number> и достать картинку из исходного текста страницы. Совсем простенький скрипт для этого (для более быстрого исполнения я не использую re): from requests import get
num = int(input()) source = get(f"https://aws.random.cat/view/{num}").text if "id="cat" in source: print(source.split("src="")[1].split(""")[0]) else: print("Incorrect id") Картинки собачек https://random.dog/woof.json — возвращает размер картинки (или gif или видео) в байтах и ссылку на неё. Все ссылки выглядят как https://random.dog/<random name> Другие варианты запросов:
Картинки лисичек https://randomfox.ca/floof/ — возвращает 2 варианта ссылки на картинку. Пути к картинкам выглядят так: https://randomfox.ca/images/<id>.jpg, где id — число от 1 до 121. Также все картинки есть в репозитории: https://github.com/xinitrc-dev/randomfox.ca/tree/master/images. Это позволяет вручную выбрать интересные картинки и использовать только их. База знаний о Покемонах Страница: https://pokeapi.co Этот сервис позвляет легко получить информацию о покемонах, их способностях и типах, а также о контенте про покемонов: играх и прочем. Формат запросов: https://pokeapi.co/api/v2/<type>/<name or id>, например https://pokeapi.co/api/v2/ability/2. Фрагмент из ответа на запрос информации про Ditto (https://pokeapi.co/api/v2/pokemon/ditto): {
"abilities": [ { "ability": { "name": "limber", "url": "https://pokeapi.co/api/v2/ability/7/" }, "is_hidden": false, "slot": 1 }, { "ability": { "name": "imposter", "url": "https://pokeapi.co/api/v2/ability/150/" }, "is_hidden": true, "slot": 3 } ] } Be like Bill Репозиторий: https://github.com/gautamkrishnar/Be-Like-Bill В меме "Be like Bill" описываются какие-то положительные качества Билла и в конце звучит рекомендация "Быть как он". API позволяет генерировать картинки с заданными или рандомными текстами. Примеры:
Bakon Ipsum Документация: https://baconipsum.com/json-api/ Сервис позволяет использовать сгенерированные тексты вместо стандартного Lorem Ipsum. Можно задать количество предложений или параграфов. Пример запроса: https://baconipsum.com/api/?type=all-meat&sentences=2 — создание текста с 2 предложениями. Tenderloin short ribs pork chop shankle chuck, cow boudin tongue. Pancetta pastrami pork loin beef ribs, cupim tenderloin filet mignon corned beef.
Шутки Под эту категорию подходит сразу несколько сервисов с похожими API, поэтому приведу только примеры запросов к API: Гиковские шутки (часто про Чака Норриса): https://geek-jokes.sameerkumar.website/api?format=json: There are only 10 types of people in the world: those that understand binary and those that don't. Шутки от папы: curl https://icanhazdadjoke.com: Why do you never see elephants hiding in trees? Because they're so good at it. Шутки с конструкцией сетап-панчлайн: https://official-joke-api.appspot.com/random_joke: "setup":"I couldn't get a reservation at the library...","punchline":"They were fully booked." Yes or No Главная страница: https://yesno.wtf Если вы хотите красиво отвечать на вопросы да или нет, то этот сервис идеально подходит для вас. Для получения рандомной гифки можно использовать https://yesno.wtf/api. Ответом вам будет "answer" и ссылка на гиф. Также с шансом 1 к 10000 может выпасть ответ maybe. Чтобы получить определённый ответ, можно указать ?force=<answer>, параметр answer может быть yes, no или maybe. Вся информация о мультсериале "Рик и Морти" Главная страница: https://rickandmortyapi.com Содержит в себе информацию о героях, локациях и эпизодах мультсериала. Также имеет библиотеки на многих языках, что облегчает работу с API. Пример работы с API с помощью питоновской библиотеки: import ramapi
print(ramapi.Character.filter(name='morty', status='dead')) # получить список мёртвых персонажей, у которых в имени есть Морти. Фрагмент ответа {
"results": [ { "id": 43, "name": "Big Morty", "status": "Dead", "species": "Human", "gender": "Male", "image": "https://rickandmortyapi.com/api/character/avatar/43.jpeg", "episode": [ "https://rickandmortyapi.com/api/episode/28" ] } ] } Выводы В интернете сейчас есть много бесплатных сервисов с API, которые могут разнообразить ваш сайт или послужить основой для реализации интересных фич. Возможно, вы захотите добавить что-то в свой проект прямо сейчас? Облачные серверы от Маклауд быстрые и безопасные. Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации! оригинал =========== Источник: habr.com =========== Похожие новости:
Блог компании Маклауд ), #_api |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 12:37
Часовой пояс: UTC + 5