Современные AI-агенты перестали быть просто чат-ботами. Они научились самостоятельно выходить в интернет, искать актуальную информацию и обрабатывать сложные веб-страницы. Но как именно это происходит? Почему обычного поиска недостаточно и зачем AI-агенту headless-браузер? В этой статье мы разберем два ключевых инструмента: web_search для поиска по запросу и Playwright для глубокого парсинга динамических сайтов.
Почему AI не может просто «прочитать» интернет?
Когда AI-агент получает задачу найти, например, последние новости из мира финтеха или прайс-лист с сайта конкурента, он сталкивается с двумя главными проблемами:
1. Доступ к поисковику — AI должен уметь формировать запросы и получать ссылки (web_search).
2. Рендеринг контента — 80% современных сайтов используют JavaScript. Без выполнения JS-кода страница останется пустой (Playwright).
Web_search: как AI ищет в Google и Яндекс
Web_search — это модуль, который эмулирует действия пользователя в поисковой системе. AI-агент отправляет запрос, получает список ссылок, заголовков и сниппетов, а затем решает, какие из них стоит открыть.
Пример работы:
- Запрос AI: "Найди цену на iPhone 16 в магазинах Москвы".
- web_search возвращает 10 ссылок.
- AI анализирует сниппеты и выбирает 3 наиболее релевантных URL для дальнейшего парсинга.
Проблема: Поисковик не отдает полный HTML страницы, только мета-описания. Для получения точных данных нужно переходить на сайты.
Playwright: спасение для JavaScript-сайтов
Playwright — это библиотека для автоматизации браузеров. Она запускает headless-браузер (без графического интерфейса), который полностью рендерит страницу: выполняет скрипты, загружает картинки, ждет появления элементов.
Как это работает в связке с AI:
1. AI получает URL от web_search.
2. Playwright открывает страницу в фоновом режиме.
3. Дожидается загрузки контента (например, появления CSS-класса .price).
4. Извлекает текст, таблицы или атрибуты.
5. Отдает данные AI-агенту для анализа.
Ключевые возможности Playwright для парсинга:
- Ожидание элементов:
page.wait_for_selector('.price', state='visible')— не начнет парсить, пока цена не появится. - Работа с iframe и pop-up: Может кликать по кнопкам «Принять куки» или закрывать всплывающие окна.
- Скриншоты и PDF: Если нужно сохранить визуальное состояние страницы.
- Смена User-Agent: Маскировка под реального пользователя.
Практический пример: сбор акций с интернет-магазина
Допустим, AI-агенту нужно собрать все товары со скидкой на сайте, который загружает контент через JavaScript.
Алгоритм:
1. Web_search → запрос "акции магазин электроники".
2. Playwright → открывает страницу, ждет 3 секунды, пока подгрузятся карточки.
3. Парсинг → извлекает названия, старые и новые цены, процент скидки.
4. AI-анализ → сортирует по размеру скидки и выдает пользователю топ-5 предложений.
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
page.goto('https://example-shop.ru/sale')
page.wait_for_selector('.product-card') # Ждем загрузки товаров
items = page.query_selector_all('.price-new')
for item in items:
print(item.inner_text())
browser.close()
Сложности и их решения
| Проблема | Решение с Playwright |
|---|---|
| Капча на сайте | Использовать прокси и задержки между запросами |
| Бесконечная прокрутка (lazy load) | Эмулировать скролл: page.evaluate('window.scrollTo(0, document.body.scrollHeight)') |
| Блокировка по IP | Ротация User-Agent и использование headful-режима в редких случаях |
Заключение
Связка web_search + Playwright делает AI-агента по-настоящему автономным исследователем интернета. Первый находит источники, второй — добывает чистые данные даже с самых сложных JS-сайтов.
Хотите внедрить такого агента в свой бизнес? Начните с малого: настройте поисковик и Playwright для одного сайта. Когда увидите, как AI сам собирает конкурентные цены или новости, вы поймете, почему это будущее автоматизации.
Попробуйте прямо сейчас — напишите своему AI-ассистенту команду "Найди 5 последних статей по AI на Habr и выведи ссылки". Если он справится без вашей помощи — вы на правильном пути.
Комментарии