Перейти к содержимому

Cheerio (быстрое извлечение)

Быстрое извлечение структурированных данных из веб-страниц через CSS-селекторы без headless-браузера. Использует HTTP-запрос + cheerio для парсинга HTML. Идеально для серверных страниц (SSR, статические сайты), где JavaScript-рендеринг не требуется.

МетодЭндпоинтОписание
POST/v1/browser/cheerioИзвлечение данных без браузера

API принимает URL и массив CSS-селекторов, загружает HTML через HTTP-запрос и парсит его с помощью cheerio. Возвращает структурированный JSON с текстом, HTML и атрибутами каждого найденного элемента.

Окно терминала
# Извлечение заголовков и параграфов
curl -X POST "https://proxy.unoapi.ru/v1/browser/cheerio" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"elements": [
{"selector": "h1"},
{"selector": "p"}
]
}'
# С кастомными заголовками и таймаутом
curl -X POST "https://proxy.unoapi.ru/v1/browser/cheerio" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"elements": [{"selector": ".product-card"}],
"headers": {"Accept-Language": "ru-RU"},
"timeout": 10000
}'

API возвращает JSON с массивом data, где каждый элемент соответствует одному селектору из запроса:

{
"data": [
{
"selector": "h1",
"results": [
{
"html": "Добро пожаловать",
"text": "Добро пожаловать",
"attributes": [
{ "name": "class", "value": "title" }
]
}
]
},
{
"selector": ".product-card",
"results": [
{
"html": "<img src=\"...\"><h3>Товар 1</h3><span>1 500 ₽</span>",
"text": "Товар 1 1 500 ₽",
"attributes": [
{ "name": "class", "value": "product-card" }
]
}
]
}
]
}

Поля каждого результата:

ПолеТипОписание
htmlstringВнутренний HTML элемента (innerHTML)
textstringТекстовое содержимое (textContent)
attributesarrayМассив атрибутов: {name, value}
ПараметрТипОбязательныйОписание
urlstringurl или htmlURL страницы для извлечения данных
htmlstringurl или htmlHTML-контент для парсинга (вместо URL)
elementsarrayДаМассив {selector: string}, минимум 1
headersobjectНетКастомные HTTP-заголовки для запроса
timeoutnumberНетТаймаут в мс (1000–60000, по умолчанию 30000)

API возвращает информацию о целевой странице через заголовки:

  • X-Response-Code — HTTP-код ответа целевой страницы
  • X-Response-URL — финальный URL после редиректов

Вместо URL можно передать HTML-контент напрямую для парсинга:

Окно терминала
curl -X POST "https://proxy.unoapi.ru/v1/browser/cheerio" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"html": "<div><h1>Тест</h1><p class=\"info\">Текст</p></div>",
"elements": [{"selector": "h1"}, {"selector": ".info"}]
}'

При использовании html запрос выполняется мгновенно — без сетевого обращения.

/v1/browser/cheerio/v1/browser/scrape
Скорость~50–100 мс~2–10 сек
JavaScriptНе выполняетсяПолный рендеринг
КоординатыНетwidth, height, top, left
Параметрыheaders, timeoutViewport, cookies, waitFor, и т.д.
Идеально дляSSR, статика, APISPA, динамический контент
  • Парсинг статических сайтов — блоги, документация, новостные сайты
  • SEO-аудит — извлечение <title>, <meta>, заголовков и ссылок
  • Мониторинг цен — серверные каталоги и маркетплейсы
  • Агрегация контента — сбор данных с SSR-страниц
  • Парсинг HTML-фрагментов — обработка HTML из других API

API блокирует небезопасные URL: localhost, приватные IP, .local домены.