Скрейпинг профилей компаний для B2B-лидогенерации
Как извлекать данные о компаниях из деловых социальных сетей и каталогов для B2B-продаж: обход антибот-защиты, TLS-фингерпринтинг, Python-скрипт и масштабирование.
Команда InfraProxy
20 февраля 2026 г.
Почему скрейпинг деловых сетей ломается в 2026 году
Деловые социальные сети и профессиональные каталоги — ценный источник B2B-лидов: профили компаний, численность сотрудников, отрасль, геолокация, контакты. При этом эти платформы относятся к числу самых защищённых. В 2026 году попытки автоматического сбора данных без специализированного стека почти всегда заканчиваются блокировками.
Агрессивная антибот-защита. Деловые платформы используют многоуровневую защиту: детектирование headless-браузеров, анализ поведения, блокировку по IP и по сессии. Обычный HTTP-клиент получает 403 или CAPTCHA уже после нескольких запросов.
JavaScript-зависимый контент. Карточки компаний, описания, контакты и блоки вакансий рендерятся в браузере. Без выполнения JavaScript HTML содержит пустой каркас.
Rate limiting. Ограничения на частоту запросов и подозрительные паттерны приводят к временной блокировке аккаунта или IP.
Для стабильного сбора нужен API для скрейпинга с полным стеком обхода: резидентные прокси, TLS-фингерпринтинг, JavaScript-рендеринг и решение CAPTCHA.
Полноценный Python-скрипт за 12 строк
Интеграция с Scraper API сводится к минимальному коду:
import httpx
import os
API_KEY = os.environ.get("SCRAPER_API_KEY")
url = "https://example.com/company/acme-corp"
payload = {
"url": url,
"use_antibot": True,
"tls_profile": "chrome124",
"use_js_render": True,
"solve_captcha": True,
"extract_rules": {
"name": "h1, .company-name",
"industry": ".industry, [data-industry]",
"employees": ".employee-count, .headcount",
"location": ".headquarters, .location",
"description": ".about-section, .company-description",
"website": "a[href*='website']@href"
}
}
resp = httpx.post(
"https://api.example.com/v1/scrape",
json=payload,
headers={"Authorization": f"Bearer {API_KEY}"},
timeout=60.0
)
data = resp.json()
print(data.get("extract"))
Один запрос возвращает структурированный JSON с полями компании. Вся логика обхода защит выполняется на стороне API.
Ключевые флаги API
| Параметр | Назначение |
|----------|------------|
| use_antibot | Включение стека обхода антибот-защиты |
| tls_profile | TLS-отпечаток браузера (chrome124, firefox) |
| use_js_render | Рендеринг JavaScript для динамического контента |
| solve_captcha | Автоматическое решение CAPTCHA при появлении |
| session_id | Привязка запросов к одной сессии (один IP, общие cookies) |
TLS-фингерпринтинг как первая линия обороны
TLS-отпечаток (JA3/JA4) — один из главных сигналов для антибот-систем. Python-клиент с OpenSSL имеет отпечаток, отличный от Chrome или Firefox. Несоответствие User-Agent и TLS сразу выдаёт автоматизацию.
Параметр tls_profile: "chrome124" указывает API использовать TLS-отпечаток актуальной версии Chrome. Это значительно снижает долю блокировок ещё до проверки поведения и CAPTCHA.
Компромиссы: латентность, токены, рендеринг
Латентность. Запрос с JavaScript-рендерингом занимает 5–15 секунд вместо 1–2 при простом HTTP. Для batch-обработки это компенсируется параллельностью.
Стоимость токенов. Рендеринг и решение CAPTCHA увеличивают стоимость запроса. Планируйте бюджеты под объёмы.
Зависимость от рендеринга. Для деловых сетей use_js_render фактически обязателен — без него контент не подгружается. Альтернативы нет.
Асинхронный скрейпинг в масштабе (10K+ страниц)
При объёмах в тысячи профилей используйте асинхронный подход с ограничением concurrency:
import asyncio
import httpx
async def scrape_companies(urls: list[str], max_concurrent: int = 10) -> list[dict]:
sem = asyncio.Semaphore(max_concurrent)
async def fetch_one(client: httpx.AsyncClient, url: str):
async with sem:
payload = {
"url": url,
"use_antibot": True,
"tls_profile": "chrome124",
"use_js_render": True,
"solve_captcha": True,
"extract_rules": extract_rules
}
resp = await client.post(API_URL, json=payload, headers={"Authorization": f"Bearer {API_KEY}"})
resp.raise_for_status()
return resp.json().get("extract")
async with httpx.AsyncClient(timeout=90.0) as client:
tasks = [fetch_one(client, url) for url in urls]
return await asyncio.gather(*tasks)
Ограничьте max_concurrent (10–15), чтобы не провоцировать rate limiting на целевой платформе.
Batch API с webhook-колбэками
Для больших объёмов удобнее batch-режим:
- Отправьте массив URL в batch-эндпоинт
- Получите
job_id - Укажите webhook URL для уведомления о готовности
- Скачайте результат по завершении
Так не нужно опрашивать статус вручную, а обработка выполняется фоном.
Важные нюансы
session_id для многостраничного сбора
При обходе нескольких страниц одной компании (профиль, вакансии, сотрудники) используйте один и тот же session_id для всех запросов. API будет направлять трафик через один IP и сохранять cookies — снижается вероятность CAPTCHA и блокировок.
Хрупкость extract_rules
Селекторы в extract_rules зависят от структуры DOM. При редизайне платформы правила могут перестать работать. Настройте мониторинг пустых или неполных ответов и имейте запасной вариант (например, extract_schema).
Стоимость solve_captcha
Каждый вызов решения CAPTCHA тарифицируется отдельно. Оптимизируйте: резидентные прокси и session_id уменьшают долю запросов, доходящих до CAPTCHA.
Резюме
- Деловые сети в 2026 году защищены антибот-системами, JS-рендерингом и rate limiting — нужен специализированный API
- Минимальный Python-скрипт: URL +
extract_rules+ флагиuse_antibot,tls_profile,use_js_render,solve_captcha - TLS-фингерпринтинг — первая линия обороны, без него блокировки высоки
- Учитывайте: латентность, стоимость, зависимость от рендеринга
- Масштабируйте через асинхронные запросы или batch API с webhook
- Важно:
session_idдля многостраничного сбора, хрупкость селекторов, стоимость solve_captcha
InfraProxy Scraper API поддерживает TLS-профили, обход антиботов и извлечение профилей компаний для B2B-лидогенерации. Оставьте заявку.
Нужны надёжные прокси для вашего проекта?
InfraProxy предоставляет серверные и резидентные прокси для российского бизнеса. Договор, постоплата, техподдержка.
Читайте также
Настройка прокси для мониторинга цен конкурентов
Пошаговое руководство по настройке прокси для мониторинга цен: ротация IP, geo-targeting, sticky-сессии, обход антибот-защит. Код на Python и bash.
РуководстваКак настроить прокси для RAG-пайплайна
Практическое руководство по настройке прокси для RAG-пайплайна: архитектура, код на Python, sticky-сессии, расписание обходов. InfraProxy, SOCKS5, 100 000+ IP.
РуководстваNo-code веб-скрейпинг: извлечение данных без программирования
Как настроить сбор данных в 2026 году без написания кода: API для скрейпинга, extract_rules, автоматизация через n8n и Make.com, батчевая обработка 100+ страниц.