Как автоматизировать сайт, у которого нет API
Используй интерфейс, который сайт уже предоставляет, если эндпоинта нет: порталы поставщиков, админ-консоли, устаревшие системы и внутренние инструменты, с которыми агент может работать напрямую.
Когда у сайта нет API, интерфейс сам становится точкой интеграции. Браузерный агент читает страницу, выполняет те же действия, что и человек, и проверяет результат, а значит порталы поставщиков, админ-консоли и устаревшие внутренние инструменты можно автоматизировать, не дожидаясь эндпоинта, который может никогда не появиться.
Интеграция, которая так и не появляется
Большинство бизнес-программ в лучшем случае покрывают через API лишь часть функций. Нужный тебе рабочий процесс часто скрыт за таблицей, экраном администратора, порталом поставщика или устаревшим внутренним инструментом, а эндпоинта либо нет, либо он не документирован, либо ограничен по частоте запросов, либо доступен только на тарифе, которого у тебя нет.
Браузер служит общим слоем для всего этого. Всё, что человек может сделать во вкладке, можно автоматизировать, поэтому браузер становится последней точкой интеграции и часто единственной доступной.
- Порталы поставщиков и партнёров без публичного API
- Админ-консоли, где в API нет именно того действия, которое тебе нужно
- Устаревшие внутренние системы, которые никто не станет переносить на новую платформу
- Тарифы SaaS, где доступ к API открыт только на более дорогом плане
Делай это ответственно
Доступ через браузер не даёт права игнорировать правила сайта. Используй агента только там, где у тебя есть на это полномочия, и соблюдай условия использования, инструкции robots, где они применимы, лимиты запросов, обязательства по защите данных и применимое законодательство. Это инструмент для законной работы, а не способ обойти контроль доступа или защиту от ботов.
На практике это значит: только твои собственные аккаунты, порталы твоих поставщиков, системы, которые твоя организация вправе использовать, и обязательная проверка человеком всего, что имеет значимые последствия.
Как сделать это надёжным
Дай агенту самую узкую область действия, которой хватает для выполнения задачи, начинай с уже открытой страницы, а не проси его самого искать сайт, и требуй подтверждения перед любой записью. Проверяй результат так же, как это сделал бы человек: перечитывай страницу после действия и убеждайся, что изменение действительно произошло.
- Начинай со вкладки, на которой уже открыта нужная запись
- Оставляй область действия в пределах одной вкладки, если задача не охватывает несколько по-настоящему
- Подтверждай перед отправкой, публикацией, оплатой или удалением
- Проси доказательства, а не только вывод
Часто задаваемые вопросы
Это то же самое, что веб-скрейпинг?
Связано, но шире. Скрейпинг только читает. Браузерный агент умеет ещё и действовать: заполнить форму, обновить запись, перенести данные между системами. Оба подхода несут одинаковую ответственность за соблюдение условий использования и закона.
Сломается ли это, когда поставщик переделает дизайн портала?
Гораздо реже, чем скрипт на селекторах, потому что агент ориентируется на смысл, а не на структуру DOM. Редизайн, который сломал бы скрипт, для агента обычно означает лишь повторное чтение страницы.
Может ли это работать за формой входа?
Да. Это работает прямо в твоём браузере, на вкладке, к которой ты подключился, поэтому используется сессия, в которую ты уже вошёл. Пароли агент никогда не вводит.
