Bazoš Publisher — Етап 2 (ротація, планувальник, моніторинг, групи, синхронізація з Excel)
Проект: Десктопний додаток на Python для автоматизації публікації оголошень на Bazoš.skТехнології: Python, Playwright, PySide6, SQLite, Excel імпорт/експортВартість другого етапу: 27 000 UAHТермін виконання: 12–14 робочих днів після резервування оплати на Сейфі і отримання чеської PSČ для probe Bazoš.cz.
1. Мета другого етапу
Розширити робочу MVP-версію до повноцінного production-інструмента для щоденної роботи менеджера на Bazoš.sk.
Етап 2 закриває всі ключові сценарії регулярної роботи: — автоматична ротація та перепублікація оголошень; — запуск роботи за розкладом без участі користувача; — моніторинг стану опублікованих оголошень; — управління групами акаунтів; — двостороння синхронізація результатів з Excel; — підтримка будь-яких «простих» категорій Bazoš.sk через універсальний движок (замість однієї фіксованої категорії Notebooky з Етапу 1).
Після Етапу 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); — синхронізація запускається тільки по кнопці (автоматичного таймера в Етапі 2 немає — додається при необхідності в наступних етапах).2.6 Універсальний движок «простих категорій» Bazoš.sk
В Етапі 1 підтримувалася тільки категорія PC → Notebooky. В Етапі 2 реалізується універсальний publisher, що працює з будь-якою «простою» підкатегорією Bazoš.sk без хардкоду:
— Excel підтримує будь-які значення в колонках
category/subcategory; — бот автоматично резолвить їх у правильний URL розділу + вибір підкатегорії у формі; — «проста категорія» = підкатегорія з базовою формою публікації (title, description, price, PSC, фото, контакт, пароль), без додаткових специфічних полів.Гарантоване покриття в Етапі 2:
— всі 20 підкатегорій з файлу
Palets.xlsx: • PC → Жорсткі диски/SSD, Ігрові консолі, Ігрові пристрої • Електро → Пилососи, Телевізори, Проектори, Hifi/Радіо, Радіостанції, Інше аудіо відео, Інше дрібне, Ручні збивачі/Міксери • Фото → Відеокамери • Мобілі → Інші бренди • Діти → Іграшки, Меблі для дітей • Дім і сад → Садова техніка, Інше • Меблі → Лампи, освітлення • Авто → Запчастини комерційні — прості підкатегорії Авто/Мотоцикли, явно згадані замовником: Запчастини, Тюнінг, Одяг, Інше (за умови що probe форми підтверджує відсутність специфічних полів); — з високою ймовірністю працює будь-яка інша проста підкатегорія в розділах PC, Електро, Мобілі, Фото, Діти, Меблі, Дім і сад — оскільки движок універсальний, нові підкатегорії додаються правкою одного рядка мапінгу без переробки логіки; — протягом 5 робочих днів після здачі Етапу 2 замовник може протестувати довільну просту підкатегорію — якщо щось не працює, я закриваю це безкоштовно в рамках періоду багфіксів.2.7 Probe Bazoš.cz для Етапу 3 (бонус, без окремої оплати)
В рамках Етапу 2 я проводжу короткий probe (1–2 години) чеського сайту Bazoš.cz: — перевіряю що словацький акаунт + словацьке проксі публікує на .cz без триггера повторної верифікації; — перевіряю що форма публікації ідентична .sk (селектори, поля, Dropzone); — за результатами фіксую фінальну цифру Етапу 3 в доповненні до цього ТЗ до старту Етапу 3.
Це не входить у вартість Етапу 2 як окрема робота — побічний результат розробки універсального движка категорій.
2.8 Включається в період багфіксів Етапу 1 пункт
В рамках періоду багфіксів першого етапу (тобто до початку Етапу 2 і без окремої оплати):
— додавання колонки
product_idв UI на вкладці «Товари» для зручного пошуку та ідентифікації товарів; — значення колонки беруться з поляproduct_idв Excel при імпорті (як вже вPalets.xlsxз форматом#П001,#П004,#П005).3. Що НЕ входить у другий етап
Наступні пункти погоджені як окремі етапи або не входять у проект взагалі:
→ Етап 3 (Bazoš.cz):— повноцінна публікація на Bazoš.cz з підтримкою всіх 5 модулів Етапу 2; — паралельний site-модуль
app/sites/bazos_cz/; — розширення Excel для вибору site публікації; — live-тест на чеських PSČ; — орієнтовна вартість: 10 000–12 000 UAH, 4–5 днів (фінальна цифра після probe в Етапі 2).→ Етап 4 (масштабування і складні категорії):— паралельна робота більше 10 акаунтів на одному ПК (пул браузерних воркерів, паралельні черги, оптимізація GUI); — підтримка категорій з унікальними полями: Мотоцикли/Скутери (з об'ємом двигуна, роком), Авто/Машини (повні авто), Нерухомість (нерухомість з метражем) — якщо знадобляться; — орієнтовна вартість: ~22 000 UAH, 8–10 днів.
→ Етап 5 (multi-PC, опціонально):— робота двох і більше ПК з загальною БД (PostgreSQL) для централізованого управління акаунтами і публікаціями; — синхронізація стану між інстансами; — орієнтовна вартість: ~25 000 UAH, 10–12 днів.
Якщо для двох ПК достатньо незалежної роботи (різні набори акаунтів на кожному ПК, без синка) — Етап 5 не потрібен.
→ Не входять у проект взагалі (за погодженням з замовником): — платне просування / topovanie / Komerčný inzerát; — антидетект / емуляція «відбитків» браузера понад поточну логіку; — аналітика, звіти, дашборди по ефективності оголошень; — категорії з принципово іншими полями форми (повноцінні авто, нерухомість).
4. Критерії приймання Етапу 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 оголошень.
-
Привіт, я працював над automation tool для публікації оголошень на OLX з ротацією та моніторингом - аналогічно вашому проекту Bazoš, включав scheduler для 25+ акаунтів з Excel sync та статус-трекінгом ✅
Цікаво, чи плануєте інтегрувати антикапча сервіси для обходу захисту 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
Автоматичне публікування відео в соціальні мережі за розкладомТехнічне завдання (ТЗ)Автоматична публікація відео в соціальні мережі за розкладомОпис проектуПотрібен скрипт/бот (Python бажано, або будь-яке інше рішення на ваш вибір — головне стабільність і простота підтримки), який автоматично публікує відео з папки в соціальні мережі та… Python, Розробка ботів ∙ 7 годин 33 хвилини тому ∙ 37 ставок |
Бот по прийому/пошуку анкет
1250 UAH
Якщо коротко: Створити бота, в якому можна буде створити та знайти анкету, бот повинен мати реферальні посилання тощо, все нижче розписав Бот зі сторони клієнта: перед кнопкою /старт текст в центрі чату: Що може зробити цей бот? Ласкаво просимо в Sugar Secret Agency!… Python, Розробка ботів ∙ 9 годин 35 хвилин тому ∙ 43 ставки |
Шукаємо розробника для створення торгового бота/чат-ботаШукаємо розробника для створення торгового бота / чат-бота. Потрібен IT-спеціаліст, який зможе розробити бота для аналізу ринку 24/7 та надсилання торгових сигналів по золоту, індексах, Bitcoin і Forex-парах. Головна вимога - спеціаліст має розумітися в трейдингу, MetaTrader… Python, Розробка ботів ∙ 1 день 4 години тому ∙ 36 ставок |
≈5 мікросервісів на FastAPI + правки та рефакторинг
15 719 UAH
Є проект, що складається приблизно з ~11 мікросервісів на FastAPI з інтеграціями, який більш ніж на половину готовий. Завдання - доробити решту ~5 мікросервісів (конкретніше - subscription/billing та інтеграція з Revenuecat, захист від зловживань для білінгу, Notifications,… Python, Веб-програмування ∙ 1 день 10 годин тому ∙ 40 ставок |
Power BI
700 UAH
Дашборд працює на гугл сервері, потрібно перенести всю логіку+код Які потрібні скіли: розгортання etl процесів на linux сервері + робота із BigQuery та Postgre Є робочий код, який працює на google, де є сама БД, потрібно перенести на інший сервер, можливо переписати код. Python, Бази даних та SQL ∙ 2 дні 15 годин тому ∙ 15 ставок |