Как AI-агент ищет в интернете: web_search и Playwright для парсинга
Современные AI-агенты перестали быть просто чат-ботами. Они умеют самостоятельно искать информацию в интернете, анализировать её и принимать решения. Но как именно происходит этот процесс? В этой статье мы разберём два ключевых инструмента: web_search (поиск в интернете) и Playwright (headless-браузер для парсинга динамических сайтов).
Введение
Когда вы просите AI-агента найти актуальные новости или сравнить цены на товары, он не «знает» ответ заранее. Вместо этого он запускает цепочку действий: отправляет запрос в поисковую систему, анализирует результаты, а затем переходит по ссылкам и собирает данные. Проблема в том, что многие современные сайты используют JavaScript для загрузки контента. Обычный HTTP-запрос (как в requests или curl) не видит динамические элементы. Именно здесь на помощь приходит Playwright — инструмент, который эмулирует работу реального браузера.
Как работает web_search в AI-агентах
Web_search — это модуль, который интегрируется с поисковыми API (Google, Bing, DuckDuckGo) или использует кастомные парсеры. В AI-агентах он обычно выполняет три шага:
- Формирование запроса — AI переводит запрос пользователя на язык поисковой системы (убирает стоп-слова, добавляет операторы).
- Получение результатов — агент получает список URL, заголовков и сниппетов.
- Фильтрация и реранжинг — AI оценивает релевантность ссылок (например, по дате публикации или авторитетности домена).
Пример простого кода на Python с использованием googlesearch-python:
from googlesearch import search
query = "AI агенты парсинг данных 2025"
for url in search(query, num_results=5):
print(url)
Но это только начало. Чтобы получить содержимое страницы, нужен парсинг.
Почему Playwright лучше обычного парсинга
Традиционные парсеры (BeautifulSoup, Scrapy) работают с HTML-кодом, который приходит с сервера. Но современные веб-приложения (React, Angular, Vue) загружают данные через API и рендерят их на клиенте. Без headless-браузера вы увидите только пустой скелет страницы. Playwright решает эту проблему:
- Он запускает полноценный браузер (Chromium, Firefox, WebKit).
- Ждёт загрузки JavaScript.
- Может кликать по кнопкам, скроллить страницу и заполнять формы.
Пример: парсинг динамического контента с Playwright
Допустим, нам нужно собрать данные с сайта, который подгружает товары после прокрутки (infinite scroll). Вот как это выглядит:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True) # headless — без GUI
page = browser.new_page()
page.goto("https://example.com/catalog")
# Скроллим до конца страницы
for _ in range(5):
page.evaluate("window.scrollTo(0, document.body.scrollHeight)")
page.wait_for_timeout(2000) # ждём подгрузку
# Извлекаем текст
items = page.query_selector_all(".product-title")
for item in items:
print(item.inner_text())
browser.close()
Этот код имитирует поведение пользователя: скроллит, ждёт, собирает данные. Playwright также умеет:
- Перехватывать сетевые запросы — чтобы получить JSON-ответы от API.
- Работать с iframe — для парсинга встроенных виджетов.
- Делать скриншоты — для визуальной верификации.
Объединяем web_search и Playwright
В реальном AI-агенте эти два инструмента работают в тандеме:
- Web_search находит релевантные URL.
- Playwright загружает каждый URL с эмуляцией браузера.
- AI анализирует полученный контент (например, с помощью NLP) и формирует ответ.
Пример сценария:
- Пользователь: «Найди цены на iPhone 16 в магазинах Москвы».
- Агент: выполняет поиск → открывает топ-3 магазина через Playwright → извлекает цены из динамических блоков → возвращает сравнительную таблицу.
Заключение
Использование web_search и Playwright позволяет AI-агентам работать с любыми сайтами, включая те, что полагаются на JavaScript. Это открывает возможности для мониторинга конкурентов, сбора данных для ML-моделей и создания умных ассистентов. Если вы хотите внедрить такой функционал в свой проект — начните с малого: настройте поиск по ключевым словам, а затем добавьте Playwright для парсинга. А если нужна готовая платформа — обратите внимание на asibiont.com, где мы уже интегрировали эти технологии.
Готовы попробовать? Переходите в блог asibiont.com/blog — там вы найдёте примеры кода и готовые решения для ваших задач.
Комментарии