Bazoš Publisher — Stage 2 (rotation, scheduler, monitoring, groups, Excel sync)
27 000 UAHПроект: Desktop-приложение на Python для автоматизации публикации объявлений на Bazoš.skТехнологии: Python, Playwright, PySide6, SQLite, Excel import/exportСтоимость второго этапа: 27 000 UAHСрок выполнения: 12–14 рабочих дней после резервирования оплаты на Сейфі і отримання чеської PSČ для probe Bazoš.cz.
1. Цель второго этапа
Расширить рабочую MVP-версию до полноценного production-инструмента для ежедневной работы менеджера на Bazoš.sk.
Stage 2 закрывает все ключевые сценарии регулярной работы: — автоматическая ротация и перепубликация объявлений; — запуск работы по расписанию без участия пользователя; — мониторинг состояния опубликованных объявлений; — управление группами аккаунтов; — двусторонняя синхронизация результатов с Excel; — поддержка любых «простых» категорий Bazoš.sk через универсальный движок (вместо одной фиксированной категории Notebooky из Stage 1).
После Stage 2 менеджер получает инструмент, который требует минимального ручного вмешательства: настроить расписание один раз → бот сам публикует, обновляет, мониторит и пишет результаты обратно в Excel.
2. Что входит во второй этап
2.1 Модуль ротации / автоматической перепубликации
— настраиваемый интервал ротации в днях: • глобальный дефолт по умолчанию 3 дня; • возможность переопределить интервал на конкретный аккаунт (например, для ноутбуков 1 день, для мелочёвки 3 дня); — логика ротации: удаление старого объявления на Bazoš → публикация нового с теми же данными (тот же title/description/фото/PSČ) → обновление ссылки в БД и Excel; — кнопка «Оновити обраний акаунт»: позволяет менеджеру вручную запустить ротацию по одному конкретному аккаунту, не затрагивая остальные; — новый статус
reserveдля исключения товаров из ротации: • выставляется вручную в приложении (правый клик → «Зарезервувати») или через колонку в Excel; • такие товары бот пропускает при ротации до снятия статуса; — контроль лимита 50 активных объявлений на аккаунт: • перед публикацией бот проверяет количество активных объявлений на аккаунте; • если лимит достигнут → ротация по этому аккаунту останавливается, в лог пишется уведомление, менеджер вручную решает что делать (удалить старые объявления или временно отключить аккаунт); • автоматического удаления старых объявлений бот не делает.2.2 Модуль расписания / планировщика
— расписание на каждый аккаунт отдельно с двумя режимами: • конкретное время: например, аккаунт #1 публикует в 09:00, 13:00, 17:00; • диапазон с интервалом: например, с 09:00 до 18:00 каждые 60 минут; — автозапуск ротации по расписанию: приложение само в указанное время поднимает очередь по аккаунту, проходит по pending-товарам, делает паузы между публикациями и завершает работу; — выходные/праздники не учитываются — логика одинаковая каждый день; — просмотр расписания на вкладке «Налаштування» в виде таблицы: аккаунт → ближайший запуск → следующий запуск; — возможность временно отключить расписание по аккаунту (галочка «активно/неактивно»).
2.3 Модуль мониторинга состояния объявлений
— периодическая проверка URL опубликованных объявлений в фоне; — частота проверки настраивается в UI (по умолчанию раз в 12 часов); — для каждого URL бот определяет одно из состояний: •
active— объявление доступно и активно; •inactive— объявление было удалено Bazoš, заблокировано, либо ссылка возвращает 404; — обновление статуса товара в приложении: новый статусinactive, отдельный фильтр на вкладке «Товари» для быстрого выбора всех неактивных; — журнал изменений по каждому товару: когда было опубликовано → когда стало неактивным → причина (если её можно определить по ответу Bazoš); — бот не делает автоматическую перепубликацию неактивных объявлений — это решение менеджера: он может выделить такие товары и нажать «Перезапустити обрані».2.4 Модуль группировки аккаунтов
— произвольные пользовательские группы аккаунтов с собственными названиями (например, «Ноутбуки», «Мелка електроніка», «Авто», «Побутова техніка»); — на старте конфигурируется 2 группы, возможность добавлять новые без ограничения; — один аккаунт принадлежит ровно одной группе (не нескольким); — фильтр по группам на вкладках «Товари», «Акаунти», «Черга»; — старт/стоп очереди по конкретной группе: возможность запустить публикацию только для аккаунтов выбранной группы, не затрагивая остальные; — конфигурация групп сохраняется в БД, переносится вместе с проектом при копировании на другой ПК.
2.5 Модуль двусторонней синхронизации с Excel
— кнопка «Записати результати в Excel» на вкладке «Товари»: • выбирается исходный Excel-файл (либо запоминается последний использованный); • бот обновляет в этом файле колонки:
status,published_url,published_at,error_comment; • запись только в существующие строки — структура файла не ломается; — обработка проданных/удалённых товаров: • товары со статусомsoldилиinactiveудаляются из Excel-файла (соответствующая строка удаляется); • опционально можно включить «не удалять, помечать статусом» — переключается в настройках; — колонкаproduct_idрекомендуется к использованию как якорь для надёжного двустороннего матчинга (если её нет — fallback на title); — синхронизация запускается только по кнопке (автоматического таймера в Stage 2 нет — добавляется при необходимости в следующих этапах).2.6 Универсальный движок «простых категорий» Bazoš.sk
В Stage 1 поддерживалась только категория PC → Notebooky. В Stage 2 реализуется универсальный publisher, работающий с любой «простой» подкатегорией Bazoš.sk без хардкода:
— Excel поддерживает любые значения в колонках
category/subcategory; — бот автоматически резолвит их в правильный URL раздела + выбор подкатегории в форме; — «простая категория» = подкатегория с базовой формой публикации (title, description, price, PSC, фото, контакт, пароль), без дополнительных специфических полей.Гарантированное покрытие в Stage 2:
— все 20 подкатегорий из файла
Palets.xlsx: • PC → Hard disky/SSD, Herné konzoly, Herné zariadenia • Elektro → Vysávače, Televízory, Projektory, Hifi/Rádiá, Vysielačky, Ostatné audio video, Ostatné drobné, Ručné šľahače/Mixéry • Foto → Videokamery • Mobily → Ostatné značky • Deti → Hračky, Nábytok pre deti • Dom a záhrada → Záhradná technika, Ostatné • Nábytok → Lampy, osvetlenie • Auto → Náhradné diely užitková — простые подкатегории Auto/Motocykle, явно упомянутые заказчиком: Náhradné diely, Tuning, Oblečenie, Ostatné (при условии что probe формы подтверждает отсутствие специфических полей); — с высокой вероятностью работает любая другая простая подкатегория в разделах PC, Elektro, Mobily, Foto, Deti, Nábytok, Dom a záhrada — поскольку движок универсальный, новые подкатегории добавляются правкой одной строки маппинга без переделки логики; — в течение 5 рабочих дней после сдачи Stage 2 заказчик может протестировать произвольную простую подкатегорию — если что-то не работает, я закрываю это бесплатно в рамках периода багфиксов.2.7 Probe Bazoš.cz для Stage 3 (бонус, без отдельной оплаты)
В рамках Stage 2 я провожу короткий probe (1–2 часа) чешского сайта Bazoš.cz: — проверяю что словацкий аккаунт + словацкое прокси публикует на .cz без триггера повторной верификации; — проверяю что форма публикации идентична .sk (селекторы, поля, Dropzone); — по результатам фиксирую финальную цифру Stage 3 в дополнении к этому ТЗ до старта Stage 3.
Это не входит в стоимость Stage 2 как отдельная работа — побочный результат разработки универсального движка категорий.
2.8 Включаемый в период багфиксов Stage 1 пункт
В рамках периода багфиксов первого этапа (то есть до начала Stage 2 и без отдельной оплаты):
— добавление колонки
product_idв UI на вкладке «Товари» для удобного поиска и идентификации товаров; — значения колонки берутся из поляproduct_idв Excel при импорте (как уже вPalets.xlsxс форматом#П001,#П004,#П005).3. Что НЕ входит во второй этап
Следующие пункты согласованы как отдельные этапы или не входящие в проект вообще:
→ Stage 3 (Bazoš.cz):— полноценная публикация на Bazoš.cz с поддержкой всех 5 модулей Stage 2; — параллельный site-модуль
app/sites/bazos_cz/; — расширение Excel для выбора site публикации; — live-тест на чешских PSČ; — ориентировочная стоимость: 10 000–12 000 UAH, 4–5 дней (финальная цифра после probe в Stage 2).→ Stage 4 (масштабирование и сложные категории):— параллельная работа более 10 аккаунтов на одном ПК (пул браузерных воркеров, параллельные очереди, оптимизация GUI); — поддержка категорий с уникальными полями: Motocykle/Skútre (с объёмом двигателя, годом), Auto/Cars (полные авто), Reality (недвижимость с метражом) — если потребуются; — ориентировочная стоимость: ~22 000 UAH, 8–10 дней.
→ Stage 5 (multi-PC, опционально):— работа двух и более ПК с общей БД (PostgreSQL) для централизованного управления аккаунтами и публикациями; — синхронизация состояния между instance-ами; — ориентировочная стоимость: ~25 000 UAH, 10–12 дней.
Если для двух ПК достаточно независимой работы (разные наборы аккаунтов на каждом ПК, без синка) — Stage 5 не нужен.
→ Не входят в проект вообще (по согласованию с заказчиком): — платное продвижение / topovanie / Komerčný inzerát; — антидетект / эмуляция «отпечатков» браузера сверх текущей логики; — аналитика, отчёты, дашборды по эффективности объявлений; — категории с принципиально другими полями формы (полноценные авто, недвижимость).
4. Критерии приёмки Stage 2
Приёмка проводится по чек-листу:
Модуль ротации:— [ ] настраивается интервал ротации глобально и на аккаунт; — [ ] кнопка «Оновити обраний акаунт» запускает ротацию только по выбранному аккаунту; — [ ] товары со статусом
reserveпропускаются; — [ ] при достижении лимита 50 объявлений ротация по аккаунту останавливается и пишется в лог.Модуль расписания:— [ ] на аккаунт можно задать расписание в двух режимах (конкретное время / диапазон с интервалом); — [ ] приложение само запускает ротацию по расписанию; — [ ] таблица расписания на вкладке «Налаштування» отображает ближайшие запуски.
Модуль мониторинга:— [ ] периодическая проверка URL запускается по таймеру; — [ ] частота проверки настраивается в UI; — [ ] неактивные объявления получают статус
inactive; — [ ] на вкладке «Товари» работает фильтр по статусуinactive.Модуль групп:— [ ] можно создать минимум 2 группы и привязать к ним аккаунты; — [ ] фильтры по группам работают на всех вкладках; — [ ] старт/стоп очереди по группе запускает публикацию только аккаунтов этой группы.
Модуль Excel-синхронизации:— [ ] кнопка «Записати результати в Excel» обновляет нужные колонки в исходном файл
-
Смотрите, тут нюанс - по сроку 12-14 рабочих дней выглядит реалистично, если Stage 1 уже рабочий и не нужно переделывать основу. По бюджету 27 000 грн можно заходить в Stage 2, но я бы держал приемку строго по чек-листу, потому что ротация, расписание, мониторинг, группы и Excel-синхронизация - это уже не маленький бот, а нормальный рабочий инструмент =)
По реализации я бы сделал проще - не размазывать логику по кнопкам интерфейса, а собрать ядро вокруг очередей, статусов, событий и таблиц настроек. Тогда PySide6 будет только управлением, Playwright - исполнителем публикации и проверки, SQLite - источником истины, а Excel - внешним обменом. Кажется, так меньше риска, что через месяц система начнет жить своей жизнью, как старый шкаф на даче, но то таке.
Вижу важный момент по ТЗ - для product_id нужен якорь матчинга, иначе fallback на title может дать ложные совпадения при похожих товарах. Еще вопрос - Stage 1 уже имеет стабильную структуру БД и отдельный слой для Bazoš.sk, или сейчас часть логики завязана прямо на экран Notebooky? И второй вопрос - в Palets.xlsx все 20 подкатегорий уже идут с одинаковыми обязательными полями, без скрытых отличий по цене, телефону или фото?
Похожие по типу задач кейсы:
> https://business.ingello.com/vorfahr - автоматизация и логика вокруг операционного процесса, близко по идее к publisher-инструменту
> https://business.ingello.com/forma-bpm - бизнес-процессы, статусы, очереди и управляемая операционная система
… > https://systems-fl.ingello.com - основной профиль Ingello Systems по сложным системам и автоматизации
МОжно идти этапом: сначала быстро проверяем архитектуру Stage 1 и Excel, потом делаем ядро ротации и расписания, потом мониторинг, группы и синхронизацию. В целом норм, только я бы не принимал работу без тестового прогона на нескольких аккаунтах, нескольких категориях и отдельного сценария лимита 50 объявлений.
-
Привет, я работал над инструментом автоматизации для публикации объявлений на OLX с ротацией и мониторингом - аналогично вашему проекту Bazoš, включал планировщик для 25+ аккаунтов с синхронизацией Excel и отслеживанием статуса ✅
Интересно, планируете ли вы интегрировать антикапча сервисы для обхода защиты Bazoš во время массовых публикаций на втором этапе?
Предлагаю связаться, я бесплатно проконсультирую вас с технической стороны и составим план разработки + расскажу о моей команде!
-
196 по цене и сроку - 27000 грн, 12-14 рабочих дней после резервирования оплаты в Сейфе и получения чешской PSČ для проверки Bazoš.cz.
смотрите, тут нюанс - я бы вел этап 2 как расширение уже рабочей MVP, а не как переписывание с нуля.
так меньше риска по Playwright-сценариям, SQLite и текущей логике импорта Excel.
> https://business.ingello.com/vorfahr - близко по смыслу автоматизации регулярных операций вокруг внешней системы
> https://business.ingello.com/forma-bpm - похоже по очередям, статусам, ролям и управлению рабочими процессами
> https://systems-fl.ingello.com - Ingello Systems для проектов на FLH
ИИ тут не нужен ради модного слова, тут важнее надежная автоматизация - планировщик, ротация, статусы, журнал изменений, контроль лимитов и аккуратная запись результатов в Excel по product_id.
… я бы сделал проще - сначала закрыть ядро ротации и мониторинга, затем группы аккаунтов, потом Excel-синхронизацию и в конце универсальный движок категорий с проверкой на 20 подкатегориях из Palets.xlsx.
для старта нужны текущий код Stage 1, пример Palets.xlsx, 1-2 тестовых аккаунта, прокси и чешская PSČ.
точную оцнка по рискам будет после просмотра кода, но по описанию объем выглядит реалистично =)
верно я понимаю что Stage 1 уже стабильно публикует в Notebooky на Bazoš.sk и сейчас нужно уточнть только расширение категорий, расписания и обратную запись в Excel?
и второй вопрос - для удаления старого объявления есть стабильный сценарий через Moje inzeráty, пароль объявления или отдельная логика уже сделана?
Актуальные фриланс-проекты в категории Python
Разработка веб-сервиса с платным доступом к онлайн-чатуДобрый день, необходимо разработать веб-сервис, который включает: * персональные ссылки для пользователей; * страницу с описанием услуги; * оплату через PayPal; * онлайн-чат в реальном времени; * отображение видео на странице пользователя; * учет оплаченного времени и… Python, Веб-программирование ∙ 1 день назад ∙ 64 ставки |
Создание приложенияЖелаю создать мобильное приложение для общения, в приложении должны быть аудио, видео звонок, создание групповых чатов, возможность синхронизировать с контактами телефона, настройками аккаунта: привязка по email, 2fa, номеру телефона, возможность настраивать уведомления… Java, Python ∙ 1 день 21 час назад ∙ 36 ставок |
Настройка двусторонней интеграции WhatsApp с Odoo CRMЗдравствуйте! Ищем специалиста для реализации технического задания по настройке двусторонней интеграции мессенджера WhatsApp с CRM-системой Odoo. ⚠️ Важное техническое уточнение: Официальный WhatsApp Business API (WABA) не рассматривается. Необходимо внедрить стабильное «серое»… Python, Веб-программирование ∙ 2 дня 7 часов назад ∙ 23 ставки |
Парсинг данных через мобильное APIИщу человека с опытом парсинга данных через мобильное API, для парсинга e-commerce, rozetka и аналоги Задачи: 1. Перехват трафика мобильного приложения (Android) настройка прокси, анализ запросов 2. Определение нужных API endpoints куда идут запросы, какие headers… Python, Парсинг данных ∙ 4 дня 4 часа назад ∙ 31 ставка |
Найти товарный фид (Google Merchant XML) для сайта на OpenCart
700 UAH
Необходимо найти прямую ссылку на действующий товарный фид (XML) конкурента для Google Merchant Center Платформа (CMS): OpenCart / ocStore Найти оригинальный фидТребования к результату: Рабочая ссылка на XML-файл Python, Парсинг данных ∙ 9 дней 13 часов назад ∙ 29 ставок |