Парсинг · scraping

Web scraping: как устроен сбор данных с сайтов и как распознавать scraper

Web scraping — автоматизированный сбор данных с веб-страниц. Простые scrapers читают HTML напрямую, сложные запускают браузер, исполняют JavaScript, сохраняют cookies и распределяют запросы по proxies.

Как устроен стек web scraping

  • Fetcher: HTTP-клиент или браузер получает страницу.
  • Parser: извлекает DOM/JSON/structured data.
  • Queue: хранит URL и retry.
  • Identity: cookies, proxy, headers, browser profile.
  • Storage: сохраняет результат.
  • Scheduler: повторяет обход по расписанию.

Зачем scraper использует headless browser

Если контент формируется JavaScript, есть Challenge или данные требуют session state, scraper может перейти на Playwright/Selenium/Puppeteer-подобную автоматизацию. Она тяжелее и дороже, но даёт полноценный DOM и browser APIs.

Защитная система должна отличать прямые automation markers от generic anomalies. Нельзя честно объявлять конкретный инструмент, если обнаружен только общий WebDriver/headless признак.

Proxies и ротация идентичности

Распределённый scraper меняет IP и ASN, но иногда сохраняет одинаковый fingerprint, cookies, маршрут URL или тайминги. Корреляция этих факторов помогает увидеть одну автоматизированную популяцию за множеством адресов.

Ограничение

Corporate NAT, мобильные сети и VPN тоже создают IP rotation. Поэтому сетевой сигнал должен быть контекстом, а не самостоятельным BLOCK.

Что реально усложняет scraping

  • rate limit по осмысленной единице — не только IP;
  • закрытие дорогих/технических endpoints;
  • verified crawler allow path;
  • browser consistency/automation evidence;
  • Challenge для подозрительных сессий;
  • adaptive sequence/reputation;
  • cache и архитектурное снижение стоимости запроса.

Какие метрики отслеживать

МетрикаЧто показывает
URLs/sessionШирину обхода
404 ratioПеребор/устаревшие URL
Requests/minИнтенсивность
Repeated sequencesАвтоматизированный маршрут
IP/ASN rotationРаспределение сети
Challenge fail/passРеакцию на проверку
Browser marker confidenceПризнаки automation runtime
Как это связано с AntiPF

Web scraping в AntiPF

AntiPF сочетает URL/rule control с Browser Signals Lite, Network context, Adaptive sequences и Challenge. При этом поисковые crawler проверяются отдельно и не должны попадать под обычный scraper-risk.

РешениеЗащита от scraping →МодульBrowser Signals →МодульAdaptive Intelligence →МодульRule Engine →
FAQ

Частые вопросы

Web scraping и parsing — одно и то же?

Parsing — разбор данных; web scraping обычно включает получение веб-страниц плюс extraction и массовый обход.

Можно ли обнаружить scraper по IP?

Иногда, но распределённые системы используют proxies. Надёжнее связывать сеть с session/browser/behavior evidence.

Headless browser всегда виден?

Нет. Часть признаков можно скрыть, а некоторые обычные среды похожи на headless. Нужна многофакторная оценка.

CAPTCHA полностью останавливает scraping?

Нет. Она повышает стоимость и может отсечь часть automation, но лучше использовать её как один слой.

Следующий шаг

Нужно проверить трафик на реальном сайте?

Пришлите домен и симптомы. Разберём, какие данные уже есть в логах и аналитике, какие сигналы имеет смысл собирать и где защита даст практический эффект.