19.05, ООО «ВК»
19.05, ООО «ВК»
19.05, ООО «ВК»

Семь API, которые сократят вам недели разработки

В этом списке — семь мощных API, которые помогут вам ускорить разработку, автоматизировать рутинные задачи и без лишних усилий добавить крутые функции. От баз данных книг до парсинга сайтов и анализа пользовательских данных

16К открытий44К показов
Семь API, которые сократят вам недели разработки

Представьте, что вам нужно встроить в своё приложение поиск книг, анализ геоданных или генерацию случайных пользователей. Вы могли бы писать код с нуля, разбираться с источниками, тестировать и отлаживать… или просто воспользоваться готовыми API, которые сделают всю работу за вас. Сегодня о них и поговорим.

Shodan API: Поиск уязвимостей в интернете за минуты

Shodan — поисковая система для интернет-устройств. В отличие от Google, который индексирует веб-страницы, Shodan сканирует открытые порты, сервисы и устройства, подключённые к интернету. Это делает его мощным инструментом для исследователей безопасности, разработчиков и системных администраторов.

Shodan API позволяет автоматизировать поиск уязвимых серверов, камер наблюдения, баз данных и других интернет-ресурсов. Может анализировать их конфигурации и даже отслеживать инциденты безопасности в реальном времени.

Как Shodan API экономит время разработчикам?

Ручной аудит серверов и интернет-устройств может занять недели, а то и месяцы, но Shodan API позволяет:

  • Быстро находить уязвимые устройства и сервисы
  • Проверять, какие технологии и версии ПО используются на серверах
  • Получать статистику по открытым портам, SSL-сертификатам и угрозам
  • Отслеживать новые уязвимости в реальном времени

Для DevOps, SOC-аналитиков и специалистов по информационной безопасности это возможность автоматизировать рутинные проверки и защитить инфраструктуру от потенциальных атак.

Как использовать Shodan API?

Shodan API предоставляет удобные методы для работы с данными через REST-запросы. Рассмотрим основные возможности.

Поиск открытых сервисов и устройств

Shodan позволяет находить устройства, доступные по определённым портам, IP-адресам или географическим координатам. Например, запрос всех открытых баз данных MongoDB:

			curl "https://api.shodan.io/shodan/host/search?key=ВАШ_API_КЛЮЧ&query=mongodb"
		

Ответ покажет список IP-адресов, страну расположения серверов и используемые версии ПО.

Получение информации об IP-адресе

Допустим, вы хотите узнать, какие сервисы запущены на конкретном IP. Используем команду:

			curl "https://api.shodan.io/shodan/host/8.8.8.8?key=ВАШ_API_КЛЮЧ"
		

Ответ будет содержать список открытых портов, заголовки HTTP-ответов и используемые технологии.

Поиск устройств по версии ПО

Чтобы найти все серверы с устаревшей версией OpenSSH, можно выполнить запрос:

			curl "https://api.shodan.io/shodan/host/search?key=ВАШ_API_КЛЮЧ&query=openssh+version:5.3"
		

Это полезно для поиска серверов, подверженных атакам из-за старых версий ПО.

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

Abstract API: Быстрая проверка IP, валидация email и работа с геоданными

Abstract API — сервис, предлагающий набор API для работы с IP-адресами, валидацией email, проверкой телефона, распознаванием валют и многим другим. Это универсальный инструмент для веб-разработчиков, аналитиков и специалистов по безопасности.

Как Abstract API экономит время разработчикам?

Вместо того чтобы искать разные API для работы с геоданными, email-валидацией и IP-адресами, можно использовать Abstract API. Это экономит часы на интеграцию и позволяет быстро решать задачи, такие как:

  •  Определение страны и города пользователя по IP
  • Проверка подлинности email перед регистрацией
  • Конвертация валют в реальном времени
  • Валидация телефонных номеров

Abstract API помогает автоматически фильтровать спам-регистрации, защищать системы от ботов и улучшать пользовательский опыт.

Как использовать Abstract API?

API работает через REST-запросы и доступно для бесплатного использования с ограничениями.

Определение геолокации по IP

Можно быстро определить страну, город и провайдера пользователя:

			curl "https://ipgeolocation.abstractapi.com/v1/?api_key=ВАШ_API_КЛЮЧ&ip_address=8.8.8.8"
		

Валидация email-адреса

Проверяем, является ли email настоящим, одноразовым или корпоративным:

			curl "https://emailvalidation.abstractapi.com/v1/?api_key=ВАШ_API_КЛЮЧ&email=test@example.com"
		

Что нужно помнить? Бесплатная версия ограничена числом запросов в месяц. А данные по IP-геолокации иногда могут быть неточными (зависит от провайдера).

Zyte API: Интеллектуальный ротационный прокси для веб-скрейпинга без блокировок

Zyte API — мощный API для веб-скрейпинга, который не только обходит блокировки и капчи, но и автоматически структурирует полученные данные. Он объединяет в себе прокси-серверы, обработку JavaScript-страниц и инструменты парсинга, что делает его одним из самых удобных решений для сбора данных с веб-ресурсов.

Как Zyte API экономит время?

Вместо того чтобы вручную разрабатывать сложные парсеры и бороться с защитами сайтов, Zyte API позволяет получить уже готовые структурированные данные:

  • Автоматическая обработка JavaScript-страниц (открывает динамически загружаемые сайты, как Selenium).
  • Обход капч и блокировок (использует интеллектуальные прокси).
  • Автоматическое структурирование данных (не просто HTML, а уже готовая JSON-структура).
  • Интеграция с Python и REST API (работает с любыми языками программирования).

API идеально подходит для разработчиков, аналитиков, маркетологов и исследователей данных.

Как использовать Zyte API?

Он работает как обычный прокси: достаточно настроить его в коде, и все запросы к сайтам будут проходить через интеллектуальную систему ротации IP.

Использование Zyte в curl

Допустим, нужно скачать HTML-страницу сайта example.com:

			curl -X GET "https://api.zyte.com/v1/extract?url=http://example.com" \
     -H "Authorization: Apikey ВАШ_API_КЛЮЧ"
		

Что нам ответят:

			{
  "status": 200,
  "url": "http://example.com",
  "html": "Example DomainExample Domain"
}
		

Интеграция с Python

Для начала нужно установить клиент:

			pip install zyte-api
		

Код для парсинга и получения данных:

			from zyte_api import ZyteAPIClient

client = ZyteAPIClient("ВАШ_API_КЛЮЧ")

response = client.extract(url="http://example.com")
print(response["html"])
		

Автоматический парсинг данных

Zyte API умеет не только загружать HTML, но и автоматически извлекать полезные данные. Например, спарсить цену, название и описание кроссовок в интернет-магазине (ну или любого другого товара).

Из минусов — нет бесплатного доступа (лишь пробный период). Также некоторые страницы требуют больше времени для обхода ограничений (может понадобиться доп.настройка).

Common Crawl API: Бесплатная база данных для веб-скрейпинга и анализа интернета

Common Crawl — не просто API, а целый архив интернета, содержащий огромные объемы веб-данных, собранных с 2008 года. В отличие от стандартных API для веб-скрейпинга, Common Crawl предоставляет доступ к готовым копиям страниц, что значительно ускоряет анализ веб-контента и снижает нагрузку на исходные сайты.

Как Common Crawl API экономит время?

Вместо того чтобы разрабатывать сложные парсеры и загружать миллионы страниц вручную, Common Crawl позволяет быстро находить нужную информацию в готовых архивах:

  • Бесплатный доступ к огромной базе веб-страниц (петабайты данных, обновляемых ежемесячно).
  • Исторические данные (можно анализировать, как изменялся контент сайтов за годы).
  • Отсутствие блокировок и капч (данные уже собраны, вам не нужно бороться с защитами сайтов).
  • Возможность массового анализа веба (идеально для NLP, машинного обучения и SEO-исследований).

API и данные Common Crawl полезны для исследователей, дата-аналитиков, SEO-специалистов и разработчиков.

Как использовать Common Crawl API?

Common Crawl предоставляет данные в формате WARC (архивные копии страниц) и WET (чистый текст без HTML). Доступ осуществляется через Amazon S3, но также можно использовать API Common Crawl Index для поиска нужных URL.

Поиск веб-страниц через API

Допустим, нам нужны все страницы, содержащие example.com:

			curl -X GET "http://index.commoncrawl.org/CC-MAIN-2023-50-index?url=example.com&output=json"
		

Вот такой ответ может быть:

			[
  {
    "url": "http://example.com/",
    "timestamp": "20231201094512",
    "status": "200",
    "length": "1278",
    "mime": "text/html",
    "digest": "SHA256:abcd1234...",
    "offset": "67890",
    "filename": "crawl-data/CC-MAIN-2023-50/segments/.../warc.gz"
  }
]
		

Получение текста страницы из архива

После получения ссылки на WARC-файл можно скачать его и распаковать:

			wget https://data.commoncrawl.org/crawl-data/CC-MAIN-2023-50/segments/.../warc.gz
gunzip warc.gz
		

Ну и затем извлечь текст:

			warc2text warc > output.txt
		

Анализ больших объемов данных с AWS

Если вам нужны миллионы страниц, можно использовать AWS Athena для обработки данных прямо в облаке.

Пример SQL-запроса в AWS Athena для поиска страниц с «machine learning»:

			SELECT url, content 
FROM commoncrawl
WHERE content LIKE '%machine learning%'
LIMIT 100;
		
Важно отметить, что данные предоставляются в сыром виде и их нужно дополнительно обрабатывать. Плюс нет гарантии, что конкретная страница будет в архиве.

GitHub API: автоматизация работы с репозиториями, пользователями и кодом

GitHub API — интерфейс для взаимодействия с кодом, репозиториями, пользователями и организациями на платформе GitHub. Он позволяет автоматизировать задачи, получать аналитику, управлять репозиториями, отслеживать запросы на вытягивание, коммиты и многое другое.

Как GitHub API экономит время?

Вместо ручного управления репозиториями и кодом через интерфейс GitHub можно автоматизировать эти процессы с помощью API:

  • Автоматизация деплоя и CI/CD (создание и управление GitHub Actions).
  • Мониторинг активности в репозиториях (новые коммиты, запросы на вытягивание, проблемы).
  • Управление пользователями и организациями (добавление разработчиков, управление доступом).
  • Анализ кода и метрик (подсчёт строк кода, статистика участников).
  • Поиск по репозиториям и файлам (быстрое извлечение нужной информации).

GitHub API полезен для DevOps-инженеров, разработчиков, владельцев проектов и аналитиков.

Как использовать GitHub API?

GitHub API работает через REST-запросы и возвращает данные в формате JSON. Для авторизации можно использовать токен личного доступа (PAT) или OAuth.

Получение информации о пользователе GitHub

Допустим, мы хотим узнать данные о пользователе natasharostova:

			curl -H "Accept: application/vnd.github.v3+json" \
     -H "Authorization: token ВАШ_ТОКЕН" \
     "https://api.github.com/users/octocat"
		

Как нам могут ответить:

			{
  "login": "natasharostova",
  "id": 1,
  "name": "Natasha Rostova",
  "public_repos": 8,
  "followers": 3920,
  "following": 9,
  "created_at": "1895-01-25T18:44:36Z"
}
		

Создание нового репозитория через API

			curl -X POST -H "Authorization: token ВАШ_ТОКЕН" \
     -d '{"name":"new-repo","private":false}' \
     "https://api.github.com/user/repos"
		

После выполнения запроса появится новый репозиторий new-repo.

Поиск репозиториев по ключевому слову

Допустим, мы хотим найти репозитории, содержащие код на Python, связанный с машинным обучением:

			curl -H "Accept: application/vnd.github.v3+json" \
     "https://api.github.com/search/repositories?q=machine+learning+language:python"
		
Нужно понимать, что есть ограничение в 5000 API-запросов в час для авторизованных пользователей. Для некоторых функций требуется версия GitHub Enterprise.

MuleSoft API: Универсальный коннектор для интеграции сервисов

MuleSoft API — платформа для интеграции различных систем, сервисов и приложений. Она позволяет соединять облачные и локальные системы, автоматизировать обмен данными и управлять API. MuleSoft широко используется в корпоративных средах для построения сложных интеграционных решений.

Как MuleSoft API экономит время?

Вместо того чтобы разрабатывать интеграции с нуля, MuleSoft API предлагает готовые коннекторы, которые позволяют:

  • Интегрировать разные системы (CRM, ERP, базы данных, облачные сервисы) без сложного кодинга.
  • Автоматизировать обмен данными между приложениями (например, между Salesforce и SAP).
  • Обеспечивать безопасность API с помощью встроенных инструментов управления доступом.
  • Создавать микросервисную архитектуру, где API работают как модули.

API полезен для DevOps-инженеров, архитекторов ПО, разработчиков корпоративных решений и интеграторов.

Как использовать MuleSoft API?

MuleSoft поддерживает REST и SOAP API, а также интеграцию через готовые коннекторы.

Создание API с помощью Anypoint Platform

Anypoint Platform — облачная среда MuleSoft, в которой можно управлять API.

Пример запроса к API через MuleSoft:

			curl -X GET "https://api.yourmulesoftinstance.com/v1/orders"
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
		

Подключение к базе данных через DataWeave

DataWeave — это язык MuleSoft для трансформации данных. Он позволяет легко преобразовываться в нужные форматы.

			%dw 2.0
output application/json
---
{
  "customerName": payload.name,
  "customerEmail": payload.email
}
		

Это правило конвертирует XML-ответ базы данных в JSON.

Важно помнить, что бесплатные возможности платформы ограничены. Также сервис требует обучения: для работы с DataWeave и Anypoint Platform нужно разбираться в интеграции API.

JSONPlaceholder API: бесплатный фиктивный REST API для тестирования и создания прототипов

JSONPlaceholder API — бесплатный REST API, предназначенный для тестирования, создания прототипов и обучения разработчиков. Он предоставляет фиктивные данные (пользователей, публикаций, комментариев и т. д.), которые можно использовать при разработке клиентских и серверных приложений без необходимости развёртывать собственный бэкенд.

Как JSONPlaceholder API экономит время?

Разработчикам часто нужно тестировать фронтенд или отлаживать API-запросы, но не всегда есть готовый бэкенд. JSONPlaceholder API решает эту проблему:

  • Позволяет мгновенно получать тестовые данные без развертывания сервера.
  • Не требует регистрации или API-ключа.
  • Поддерживает стандартные HTTP-методы (GET, POST, PUT, DELETE).
  • Полностью совместим с популярными библиотеками и фреймворками (Axios, Fetch API, jQuery и др.).

API полезен для фронтенд-разработчиков, тестировщиков, студентов и преподавателей программирования.

Как использовать JSONPlaceholder API?

JSONPlaceholder предоставляет несколько ресурсов, которые можно запрашивать с помощью HTTP-запросов.

Получение списка пользователей

Простейший GET-запрос возвращает список тестовых пользователей:

			curl -X GET "https://jsonplaceholder.typicode.com/users"
		

Получение списка постов

Можно запросить список фиктивных публикаций:

			curl -X GET "https://jsonplaceholder.typicode.com/posts"
		

Добавление нового поста

Можно отправить POST-запрос, чтобы имитировать создание записи:

			curl -X POST "https://jsonplaceholder.typicode.com/posts" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Новая статья",
    "body": "Текст статьи",
    "userId": 1
  }'
		

Обновление записи

Для изменения существующей записи можно использовать PUT-запрос:

			curl -X PUT "https://jsonplaceholder.typicode.com/posts/1" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 1,
    "title": "Обновленный заголовок",
    "body": "Обновленный текст статьи",
    "userId": 1
  }'
		
Что нужно помнить? Данные статичны — они не сохраняются между запросами. Запросы POST, PUT и DELETE не изменяют реальные данные. А само API предназначено только для тестирования, а не для использования в рабочей среде.
Следите за новыми постами
Следите за новыми постами по любимым темам
16К открытий44К показов