web_search и browser_scrape: Как AI добывает данные с JS-сайтов и SPA

В эпоху перегрузки информацией поиск в интернете перестал быть простым вводом запроса в строку браузера. Современные AI-агенты и парсеры сталкиваются с двумя принципиально разными задачами: найти релевантные данные (поиск) и извлечь контент с динамических сайтов, которые загружаются через JavaScript. Для этого существуют два инструмента — web_search для поиска через поисковики и browser_scrape для работы с SPA (Single Page Applications). Разберем, чем они отличаются и как их использовать.

web_search: поиск данных через поисковые системы

Инструмент web_search — это не просто отправка запроса в Google. Это API-интерфейс, который использует поисковые движки (Google, Bing, Yandex) и возвращает структурированный результат: заголовки, сниппеты, URL-адреса. Он идеален для:
- Сбора новостей по ключевым словам
- Мониторинга упоминаний бренда
- Поиска контактов компаний

Как это работает:
1. Формируется HTTP-запрос к поисковому API
2. Получается JSON-ответ с ранжированными ссылками
3. AI-агент анализирует сниппеты и выбирает нужные

Пример использования:

result = web_search.query("headless браузер парсинг")
for item in result['items']:
    print(f"{item['title']} - {item['link']}")

browser_scrape: извлечение контента из SPA и JS-сайтов

В отличие от статических HTML-страниц, современные SPA (React, Vue, Angular) рендерят контент динамически. Обычный HTTP-запрос вернет пустой HTML или загрузочный спиннер. Здесь на помощь приходит browser_scrape — headless браузер (Chromium без графического интерфейса), который выполняется на сервере.

Ключевые возможности:
- Эмуляция пользователя: клики, скроллы, заполнение форм
- Ожидание загрузки AJAX-запросов
- Извлечение данных после полного рендеринга

Пример сценария:
Допустим, нужно собрать цены с интернет-магазина на SPA. browser_scrape:
1. Открывает страницу в headless-режиме
2. Ждет появления селектора .price (используя waitForSelector)
3. Извлекает текст через page.evaluate()
4. Возвращает результат в JSON

Сравнение инструментов

Параметр web_search browser_scrape
Тип данных Текстовые сниппеты Полный DOM-контент
Скорость Мгновенно (0.5-2 сек) Зависит от рендера (2-10 сек)
Нагрузка Небольшая (API-запрос) Высокая (эмуляция браузера)
Область применения Поиск ссылок, мониторинг Извлечение данных из SPA
Поддержка JavaScript Нет Да (полная)

Когда выбирать web_search?

  • Нужны только ссылки и краткие описания
  • Высокая скорость критична (например, real-time мониторинг)
  • Целевой сайт статичен или имеет HTML-версию

Когда выбирать browser_scrape?

  • Сайт загружает контент через JavaScript (SPA, AJAX)
  • Требуется авторизация или взаимодействие с формой
  • Нужны данные, которых нет в поисковом индексе (например, внутренние страницы личного кабинета)

Практические советы

  1. Комбинируйте инструменты. Используйте web_search для поиска страниц, затем browser_scrape для извлечения деталей.
  2. Уважайте robots.txt. Даже при headless-парсинге соблюдайте politeness policy — не делайте более 1 запроса в секунду.
  3. Обрабатывайте ошибки. SPA могут зависать — ставьте таймауты (таймаут) 10-15 секунд.
  4. Используйте LSI-слова. В контексте парсинга: краулинг, скрапинг, автоматизация сбора данных, веб-драйвер, безголовый браузер, рендеринг, асинхронность.

Заключение

web_search и browser_scrape — два обязательных инструмента в арсенале AI-агента. Первый — для быстрой разведки, второй — для глубокой добычи. Освоив их, вы сможете автоматизировать сбор данных с любых сайтов, от простых блогов до сложных SPA. Начните с малого: настройте поиск новостей по ключевой теме, а затем попробуйте извлечь контент с динамической страницы. Удачи в автоматизации!

← Все статьи

Комментарии

Читайте также

Освоение построения RAG-систем: от нуля до продакшен-готовых RAG-пайплайнов

3 августа 2026

Курс по анализу временных рядов: освойте Prophet, ARIMA и LSTM с помощью обучения на основе ИИ

3 августа 2026

15 промтов для Cursor: ускоряем AI-assisted разработку в IDE

3 августа 2026

14 промтов для React Native: компоненты, навигация и работа с API

3 августа 2026

Мастерство управления временем — Тайм-менеджмент и продуктивность: как обучение на основе ИИ помогает освоить GTD, Pomodoro и Deep Work

3 августа 2026

Авиация и дроны: регулирование (ICAO, EASA, FAA, IATA) — почему обучение с ИИ обязательно в 2026 году

3 августа 2026

Курс эмоционального интеллекта в 2026 году: ROI обучения EQ, сравнение онлайн-форматов и преимущество ИИ Asibiont

3 августа 2026

Jetson Nano и Orin под управлением AI-агента: DeepStream, TensorRT и ASI Biont для edge-видеоаналитики

3 августа 2026

Kakehashi: запускаем macOS-бинарники на Linux ARM без перекомпиляции

3 августа 2026