Mark Emelianov
RU

Medium · Автоматизация, веб-скрапинг · Черновик

Когда API недостаточно: извлечение данных через браузер от имени пользователя

Современные SaaS-платформы часто предоставляют публичные API. В теории это должно упрощать интеграции, отчётность, сбор доказательств для комплаенса, аналитику и автоматизацию.

Впервые опубликовано на Medium 26 мая 2026 года. Читать на Medium. Время чтения: 8 минут.

На практике доступного API не всегда хватает:

Возникает практическая проблема: пользователь вправе получить информацию, информация видна в приложении, но подходящего официального способа получить её в структурированном и повторяемом виде нет.

В таких случаях извлечение данных с помощью браузера может стать практическим обходным путём.

Енот и робот-скрапер берут JWT-токен сессии из хранилища браузера; данные проходят мимо двери «Нет публичного API» и превращаются в JSON и дайджест.

1. Это не роботизированная автоматизация процессов (RPA)

Такой подход может напоминать роботизированную автоматизацию процессов (RPA), но это не совсем одно и то же.

Традиционная RPA, как правило, имитирует пользовательский интерфейс: нажимает кнопки, заполняет формы, прокручивает страницы, ждёт загрузки экранов и считывает видимые элементы. Она рассматривает веб-приложение как визуальное рабочее пространство и автоматизирует те же шаги, которые человек выполнил бы вручную.

Извлечение с помощью браузера работает на другом уровне. Браузер по-прежнему используется для законной аутентификации пользователя и контроля доступа, но сам сбор данных выполняется через наблюдение и повторное использование собственного обмена приложения с его бэкендом. Вместо того чтобы копировать значения с экрана, автоматизация получает структурированные данные, которые приложение само уже получает, чтобы отрисовать этот экран.

Проще говоря:

Это различие важно. Извлечение с помощью браузера, как правило, стабильнее, быстрее и полнее визуальной автоматизации интерфейса, потому что работает со структурированными данными, а не с отрисованными элементами интерфейса. В то же время оно требует большей осторожности, так как может опираться на внутреннее поведение приложения, недокументированные конечные точки, cookie, session storage, local storage и прочие артефакты сессии.

RPA против извлечения с помощью браузера: RPA медленно и хрупко нажимает кнопки интерфейса; второй подход читает сетевые вызовы в авторизованной сессии и получает из них данные и дайджест.

Поэтому этот приём следует считать контролируемым обходным путём. Он не заменяет ни официальный API, ни поддерживаемую интеграцию, ни должным образом документированную функцию экспорта. Он ближе к «обнаружению API через аутентифицированную сессию браузера», чем к классической RPA.

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

2. Сценарий

Допустим, в компании есть система для управления, комплаенса, операций или внутреннего администрирования.

У системы есть веб-интерфейс. Уполномоченные пользователи могут входить, просматривать записи и детали, вручную экспортировать или копировать информацию. Но у системы есть одно из следующих ограничений:

Сценарий: уполномоченные пользователи видят полные записи в браузере, но API нет или он неполон, а в экспорте нет истории; цель — не обход доступа.

Цель — не обойти контроли доступа. Цель — автоматизировать доступ к данным, которые аутентифицированный пользователь и так вправе просматривать.

3. Общий подход

Общий приём — веб-скрапинг с помощью браузера от имени пользователя.

Типичный порядок действий может быть таким:

Шесть шагов веб-скрапинга с помощью браузера: изолированный профиль, обычный вход через SSO/MFA, наблюдение за сессией, повторное использование её контекста, сбор данных, запись JSON и Markdown.

4. Почему это работает

Многие веб-приложения устроены как браузерные клиенты, взаимодействующие с бэкенд-сервисами. Даже когда публичного API нет, сам браузер зачастую использует внутренние API, чтобы загрузить данные, показываемые в интерфейсе.

Это значит, что проще всего понять, как получить всю нужную информацию из системы, иногда можно, посмотрев, как сама система получает её для браузера.

Такова неудобная практическая реальность.

С технической точки зрения веб-приложение уже знает, где лежат данные, какие конечные точки используются, какие нужны параметры и как записи разбиваются на страницы или фильтруются. Извлечение с помощью браузера просто автоматизирует то, что пользователь мог бы сделать вручную, при условии что это остаётся в пределах его законных прав доступа.

5. «Взлом», который на самом деле не взлом

Среди инженеров и практиков автоматизации комплаенса ходит такая шутка:

Проще всего получить всю информацию из системы — «взломать» её.

В этом контексте «взлом» не означает несанкционированный доступ, эксплуатацию уязвимостей, повышение привилегий или обход мер безопасности. Он означает понимание того, как веб-приложение устроено изнутри, и использование этого знания для автоматизации процесса, который иначе выполнялся бы вручную.

Например, некоторые веб-приложения хранят в браузере временные артефакты сессии, чтобы фронтенд мог общаться с бэкенд-сервисами. В ряде случаев автоматизация может повторно использовать аутентифицированную сессию браузера, чтобы извлечь данные от имени пользователя.

Это может быть мощным приёмом, когда официального API нет или он неполон. Но и обращаться с ним нужно осторожно: данные сессии чувствительны и могут давать доступ, равный доступу вошедшего пользователя.

6. Правовое и договорное предупреждение

Такую автоматизацию нужно использовать с должной осторожностью.

Даже если у пользователя есть законное право на доступ к данным, веб-скрапинг с помощью браузера может нарушать лицензионное соглашение с конечным пользователем (EULA), условия использования, политику допустимого использования, договорные ограничения или политику безопасности.

Чек-лист правового и договорного предупреждения рядом с полицейской собакой K9: разрешение, владение данными, авторизация, лимиты запросов, безопасность, аудит, хранение, конфиденциальность.

Прежде чем применять такой подход, организации стоит учесть:

Этот приём нельзя применять походя. Это обходной путь, а не замена должным образом поддерживаемой интеграции.

7. Вопросы безопасности

Артефакты сессии, включая cookie и токены, нужно считать чувствительными учётными данными.

Вопросы безопасности: десять рекомендуемых контролей, например изолированный профиль браузера, минимальные права, отсутствие токенов в журналах, истечение срока; предпочитать официальный API.

Если автоматизация опирается на аутентифицированную сессию, настоятельно рекомендуются следующие контроли:

Где возможно, всегда следует отдавать предпочтение официальному API, сервисной учётной записи, интеграции OAuth или поддерживаемому вендором механизму экспорта.

8. Пример теоретического сценария использования

Допустим, компании нужно извлечь записи из внутренней SaaS-платформы для проверки на соответствие требованиям.

Теоретический сценарий для комплаенса в шесть шагов: публичного API недостаточно, веб-интерфейс показывает больше, уполномоченный ревьюер извлекает JSON и дайджест в Markdown.

Публичный API отдаёт только основные записи объектов, а веб-интерфейс показывает дополнительную информацию, например:

Команда по комплаенсу вправе просматривать эту информацию в браузере, но полноценной функции экспорта нет.

Извлекатель на основе браузера может аутентифицироваться как уполномоченный пользователь, понаблюдать за тем, как приложение само загружает данные, получить нужные записи и сформировать два результата. Файл JSON сохраняет полные структурированные данные. Файл Markdown даёт читаемую версию, пригодную для проверки и документирования.

9. Ответственное использование

Веб-скрапинг с помощью браузера может быть законным, когда с его помощью получают данные, на доступ к которым у пользователя уже есть право, и когда подходящего официального механизма экспорта нет.

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

Лучший исход — по-прежнему API, поддерживаемый вендором. Но когда API нет или его недостаточно, аккуратно контролируемое извлечение с помощью браузера может стать практическим мостом между ручной работой и полноценной интеграцией.

10. Заключение

Системы без достаточных API создают трения для комплаенса, аудита, отчётности, миграции и операционной автоматизации. В таких случаях извлечение данных с помощью браузера может стать прагматичным обходным путём.

Главный принцип прост: автоматизировать только то, к чему пользователь вправе иметь доступ, защищать данные сессии как учётные данные, не собирать лишнего, соблюдать договорные ограничения и документировать обоснование.

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

Довольный рыжий кот развалился рядом с ноутбуком и панелью «Извлечение завершено» с файлами full_payload.json, summary.md и надписью «12 842 записи извлечено».

Эта страница — полная копия истории в том виде, в каком она опубликована на Medium. Читать на Medium. Иллюстрации созданы с помощью ИИ.