Маркетинг-стратег, IT-предприниматель, ментор по вайбкодингу
10+ лет в маркетинге, 300+ клиентских проектов: сайты, реклама, боты. Создатель GoBanana (228K+ пользователей, 11.6 млн ₽ выручки) и VibeCoderz. Делаю AI-продукты сам через Claude Code, Cursor, Windsurf и консультирую тех, кто хочет так же.
🎯 О чём этот конспект: Практическое руководство по созданию надежного AI-агента для мониторинга цен конкурентов на Python и n8n. В материале разбирается, как обойти капчи, баны по IP и ошибки 403 с помощью Web Scraping API от Decodr, структурировать данные и подключить оповещения в Slack без риска галлюцинаций языковой модели.
👤 Кому будет полезно: Вайбкодерам, разработчикам автоматизаций и создателям AI-агентов, которым требуется стабильный сбор динамических веб-данных с e-commerce площадок и веб-сайтов.
✨ Что получите: Готовую архитектуру надежного пайплайна парсинга: от получения данных через API и математического сравнения цен до отправки алертов в Slack и саммаризации через LLM.
1. Преодоление блокировок и капч: подключение Decodr Scraping API
Контекст: Большинство AI-агентов, завязанных на анализ живых данных из сети, ломаются на этапе извлечения HTML. Базовые библиотеки запросов (вроде requests или httpx) моментально ловят ошибку 403 Forbidden, Cloudflare-челленджи или пустые ответы при повторных обращениях. Для работы продакшен-агента требуется стабильный уровень доступа, изолирующий логику скрипта от ротации прокси и обработки JavaScript. Сервис Decodr решает эту задачу через API-интерфейс, возвращающий уже распарсенный контент без необходимости ручного управления инфраструктурой обхода защит.
Тайминг:[00:16], [01:08]
Выгода: Экономия десятков часов на настройку прокси-пулов и написание кастомных анти-детект решений; бесплатный тариф предоставляет 2000 запросов на 1 год без привязки банковской карты.
Как применить:
Шаг 1: Регистрация аккаунта — Decodr.com — Перейдите на сайт сервиса, создайте бесплатный аккаунт и активируйте триал-план на 2000 запросов. Привязка кредитной карты не требуется.
Шаг 2: Получение токенов доступа — Decodr Dashboard] — Войдите в панель управления, откройте раздел интеграций (Integrations) и скопируйте базовый токен аутентификации (Basic Auth Token), логин и пароль API для локального окружения.
Результат: Получен доступ к облачному API, прозрачно решающему капчи и блокировки IP-адресов целевых сайтов.
2. Тестирование скрапинга в Playground и выбор шаблонов данных
Контекст: Сайты электронной коммерции имеют сложную DOM-структуру, которая часто обновляется, что ломает селекторы. Decodr предоставляет как готовые шаблоны под популярные платформы (Amazon Products, Amazon Pricing, Google Search, Reddit, Auto Trader, Airbnb, App Store), так и универсальный скрапер (Universal Scraper). Перед внедрением в код логику извлечения можно проверить в интерактивном интерфейсе Playground, задав нужный тип прокси (например, премиум-резидентские) и формат отдачи: чистый HTML, Markdown или XHR-запросы.
Тайминг:[01:41], [02:18]
Выгода: Быстрая проверка доступности конкретного URL за 3–5 секунд без написания локального кода и расхода ресурсов локальной машины.
Как применить:
Шаг 1: Выбор парсера под задачу — Decodr Playground] — Откройте вкладку «All Templates». Для мониторинга e-commerce выберите шаблон «Amazon Pricing» для отслеживания динамики или «Universal Scraper» для любого произвольного интернет-магазина.
Шаг 2: Настройка параметров запроса — Decodr Playground] — Вставьте целевой URL товара, выберите тип прокси Premium, укажите локацию и выберите выходной формат (для AI-агентов оптимален Markdown для экономии токенов либо Raw HTML для извлечения сырых тегов).
Шаг 3: Тестовый прогон — Decodr Playground] — Нажмите кнопку «Send Request» и проверьте структуру возвращаемого ответа во вкладке предварительного просмотра.
Результат: Проверенная конфигурация запроса, готовая к интеграции в программный код агента.
3. Развертывание локального Python-агента для отслеживания цен
Контекст: Для автоматического запуска проверок логику необходимо упаковать в скрипт, хранящий предыдущие показатели цен и вычисляющий разницу. Автор подготовил открытый репозиторий с базовой структурой price-трекера, где сетевой слой полностью делегирован Decodr, а локальный код отвечает только за детерминированное извлечение чисел и отправку уведомлений.
Тайминг:[02:40], [03:18]
Выгода: Развертывание готового шаблона трекера за 5 минут без необходимости писать boilerplate-код для HTTP-сессий с нуля.
Как применить:
Шаг 1: Клонирование репозитория — Терминал] — Склонируйте шаблон проекта и перейдите в рабочую директорию:
Результат: Локально сконфигурированный агент, авторизованный в API парсинга и готовый к запуску циклов проверки.
4. Настройка вебхука Slack для отправки алертов о скидках
Контекст: Смысл трекера конкурентов — немедленная реакция на демпинг или промоакции. Вместо проверки баз данных вручную агент должен пушить статус напрямую в рабочий мессенджер команды (Slack, Telegram или WhatsApp). В шаблоне автора реализована отправка структурированных сообщений через стандартный Slack Incoming Webhook, срабатывающий при фиксации снижения стоимости относительно вчерашнего замера.
Тайминг:[03:25], [03:57]
Выгода: Мгновенное получение бизнес-алертов в корпоративный канал без использования платных интеграционных платформ.
Как применить:
Шаг 1: Создание Webhook в Slack — Slack API Console] — Создайте приложение Slack в рабочей области, активируйте модуль «Incoming Webhooks», нажмите «Add New Webhook to Workspace» и выберите канал для уведомлений (например, #competitor-pricing).
Шаг 2: Копирование URL вебхука — Slack App Settings] — Скопируйте сгенерированный URL вида https://hooks.slack.com/services/T.../B.../X... и вставьте его в переменную SLACK_WEBHOOK_URL вашего файла .env.
Шаг 3: Тестирование отправки сообщения — Python / cURL] — Проверьте работу канала отправкой тестового payload:
curl -X POST -H 'Content-type: application/json' \--data '{"text":"Тестовое оповещение: Трекер цен успешно подключен!"}' \YOUR_SLACK_WEBHOOK_URL
Результат: Настроенный канал доставки алертов, готовый принимать данные об изменении стоимости товаров.
5. Архитектурный паттерн: разделение детерминированного кода и LLM
Контекст: Критическая ошибка многих вайбкодеров — попытка скормить LLM всю веб-страницу и поручить ей распознать капчу, вытащить селектор, посчитать разницу и сформировать отчет за один промпт. Языковые модели плохо справляются с арифметикой и подвержены галлюцинациям при искажении входных данных («garbage in — garbage out»). Надежный паттерн: Decodr отвечает за сетевой доступ, легковесный Python-код детерминированно извлекает конкретные числа и считает дельту цен, а AI-модель подключается в самом конце — исключительно для интерпретации и формулирования выводов.
Тайминг:[03:54], [04:40]
Выгода: Исключение вычислительных ошибок и 100% защита от выдумывания цен нейросетью при падении страниц.
Как применить:
Шаг 1: Промпт для генерации кода агента в Cursor / Claude Code — AI Code Editor] — Передайте системный промпт вашему AI-ассистенту для создания надежного модуля обработки:
Создай Python-скрипт для мониторинга цен на базе Decodr API.Архитектурные требования:1. Запрос к Decodr API отправляется через базовую аутентификацию.2. Парсинг ответа: извлеки точное наименование товара и текущую цену float.3. Сравни текущую цену с сохраненным значением из local_storage.json.4. Вычисли математическую разницу (дельта в $ и %).5. Если обнаружено падение цены более чем на 5%, передай чистые цифры в LLM (OpenAI/Anthropic) с промптом: "Сформируй краткий саммари-отчет для коммерческого отдела: Товар {name}, старая цена {old}, новая цена {new}, падение на {diff}%. Предложи краткое ответное действие."6. Отправь результат работы LLM в Slack через входящий вебхук.7. Не позволяй LLM самой парсить сырой HTML или вычислять дельту цен.
Шаг 2: Реализация детерминированного блока вычислений — Python] — Убедитесь, что расчет дельты происходит строго на стороне Python:
Результат: Отказоустойчивая архитектура, где AI используется строго по прямому назначению — для анализа контекста и генерации читаемых отчетов.
6. Альтернатива без кода: визуальный AI-воркфлоу в n8n
Контекст: Если разработка на чистом Python внутри VS Code не вписывается в инфраструктуру или требуется быстрый no-code прототип, аналогичный пайплайн реализуется в n8n. Decodr предоставляет интеграцию по стандартному HTTP Request, что позволяет собрать весь цикл — от расписания до уведомлений — в визуальном редакторе узлов без локального хостинга скриптов.
Тайминг:[04:52], [04:84]
Выгода: Запуск мониторинга цен в production за 10 минут внутри готового n8n-инстанса с наглядной визуализацией каждого этапа.
Как применить:
Шаг 1: Настройка Schedule Trigger — n8n] — Добавьте узел «Schedule Trigger» и задайте интервал срабатывания (например, ежедневно в 08:00 утра).
Шаг 2: Подключение Decodr через HTTP Request — n8n] — Создайте ноду «HTTP Request», настройте метод POST на эндпоинт скрапинга Decodr, передайте целевой URL товара в теле запроса и добавьте Basic Auth из панели Decodr.
Шаг 3: Экстракция данных в Code Node — n8n] — Добавьте узел «Code» на JavaScript для парсинга возвращенного JSON/Markdown и извлечения поля цены.
Шаг 4: Анализ через AI-узел — n8n] — Подключите ноду «Basic LLM Chain» (OpenAI или Anthropic) для генерации текста сообщения на основе разницы цен.
Шаг 5: Отправка в Slack — n8n] — Завершите цепочку стандартным узлом «Slack» (или HTTP Request к Slack Webhook).
Результат: Автономный визуальный агент в n8n, работающий по таймеру и не требующий поддержки Python-окружения.
7. Защита продакшена от галлюцинаций: обработка сбоев и метки времени
Контекст: Сайты конкурентов периодически падают, уходят на техобслуживание или меняют верстку. Худшее поведение для бизнес-агента — выдумать цену товара на основе прошлых паттернов, если страница отдала 500-ю ошибку или пустой контент. Для промышленного использования агент обязан логировать время каждого запроса (timestamp) и явно фиксировать ошибку («Data Unavailable»), полностью блокируя вызов генеративной модели при отсутствии валидных чисел.
Тайминг:[05:08], [05:45]
Выгода: Защита бизнеса от принятия неверных финансовых решений (демпинг, изменение закупочных цен) на основе галлюцинаций LLM.
Как применить:
Шаг 1: Добавление валидации данных и таймстемпов — Python] — Оберните блок обработки в строгую проверку наличия цены:
from datetime import datetimedef validate_scraped_data(product_data: dict) -> dict: timestamp = datetime.utcnow().isoformat() price = product_data.get("price") if price is None or not isinstance(price, (int, float)): return { "status": "DATA_UNAVAILABLE", "timestamp": timestamp, "error": "Failed to extract valid price from target page." } return { "status": "SUCCESS", "timestamp": timestamp, "price": float(price), "product_name": product_data.get("name", "Unknown Product") }
Шаг 2: Логика прерывания пайплайна — Python] — При статусе DATA_UNAVAILABLE скрипт должен отправлять алерт технического сбоя, а не передавать пустой контекст в AI-модель:
Результат: Отказоустойчивый рабочий процесс, гарантирующий чистоту собираемых бизнес-метрик.
FAQ
В: Почему нельзя использовать стандартную связку requests + BeautifulSoup вместо Decodr?
О: Обычные запросы через requests не имеют ротации IP и фингерпринтов браузера. Крупные площадки (Amazon, Auto Trader, Reddit) блокируют такие скрипты после 1–3 запросов, возвращая ошибку 403 или капчу. Decodr берет на себя обход защит и рендеринг JS-скриптов.
В: Хватит ли бесплатного лимита Decodr для регулярного трекинга?
О: Бесплатный тариф дает 2000 запросов на 1 год без ввода кредитной карты. Если вы мониторите 5 товаров раз в день (150 запросов в месяц), этого лимита хватит более чем на год работы.
В: В каком формате лучше забирать данные из Decodr для AI-агентов?
О: Оптимально выбирать формат Markdown, если скрапер его поддерживает. Markdown сохраняет структуру заголовков, списков и таблиц, убирая при этом избыточные HTML-теги, стили и скрипты, что экономит до 70-80% контекстного окна LLM.
В: Что лучше выбрать для развертывания: Python-скрипт или n8n?
О: Если вы настраиваете микросервис внутри существующего репозитория или хотите кастомный CLI/GUI — используйте Python. Если вам нужна быстрая интеграция в существующие рабочие процессы компании без написания кода обслуживания сервера — выбирайте n8n.
В: Как предотвратить придумывание цен нейросетью?
О: Никогда не поручайте LLM извлекать цену из сырого неструктурированного текста и тем более не просите ее угадать тренд. Парсите число регулярным выражением или кодом на Python, проверяйте наличие значения и отдавайте нейросети уже подтвержденный факт для текстового резюме.
В: Можно ли через этот пайплайн отслеживать другие платформы (не Amazon)?
О: Да, у сервиса есть шаблон «Universal Scraper», работающий с любыми сайтами, а также специализированные шаблоны под Reddit, Google Search, Auto Trader, Airbnb и Apple App Store.
Ресурсы и ссылки
Decodr — Сервис веб-скрапинга и парсинг-API для обхода капч и блокировок — https://decodr.com
GitHub Repository — Исходный код AI-агента для отслеживания цен на Python — упомянут в видео (ссылка в описании ролика)
Slack Incoming Webhooks — Документация по настройке входящих вебхуков в Slack — упомянут в видео
n8n — Платформа автоматизации воркфлоу для создания no-code агентов — упомянут в видео
Конспект создан на основе видео «I Built an AI Agent That Scrapes The Web Legally (Full Guide)» канала AI Code King. Все права на оригинальный материал принадлежат авторам.Источник: https://www.youtube.com/watch?v=J2Re_5to-R0