Автозалив карток товарів на сайт
Оновлення асортименту робиться руками через адмінку: відкрити, вставити, зберегти, повторити. Скрипт проходить той самий шлях сам, за розкладом, і звітує, що змінив.
Результат
- Менеджер повертає собі години щотижня і займається продажами, а не копіюванням
- Покупці бачать актуальні ціни й описи, тож менше скасованих замовлень через розбіжності
- Оновлення всього каталогу більше не залежить від того, чи є в когось вільний день
- Помилка не коштує продажів: зміну можна відкотити, а збій зупиняє скрипт, а не сторінки
Задача
Асортимент оновлюється руками через адмінку: відкрити картку, вставити текст у кілька полів, зберегти, дочекатися перезавантаження, перейти до наступної. На сотнях карток це пів дня щотижня, які менеджер витрачає замість продажів.
Як це працює
Скрипт проходить той самий шлях сам. Бере дані з таблиці чи вивантаження, знаходить картку, вписує поля, зберігає. Запускається за розкладом і звітує, що саме оновив.
Це збірка під конкретний сайт, а не коробка. У кожного магазину своя адмінка, свої назви полів і свої правила.
Коли підходить
- Сотні карток оновлюються вручну щотижня. Відкрити, вставити, зберегти, повторити.
- API магазину покриває не все. Частина полів живе тільки в адмінці, і скрипт має вміти обидва шляхи.
- Помилка в оновленні коштує дорожче за саму рутину. Потрібен запобіжник, а не швидкість заради швидкості.
Чому не «просто через API»
Перше, що перевіряю, це API магазину. Зазвичай частину полів через нього оновити можна, а частину ні: вони живуть тільки в адмінці.
Тому робота ділиться: усе, що доступне через REST API, іде через нього, бо це швидше й надійніше, а решту дотягує браузер через Playwright. Робити все браузером «щоб однаково» свідомо повільніше й крихкіше.
Запобіжники
Скрипт нічого не видаляє. Перед записом він зберігає попереднє значення, тож будь-яку зміну можна відкотити.
Зупиняється, а не псує. Якщо структура сторінки змінилась і поле не знайдено, скрипт зупиняється й повідомляє. Інакше за одну ніч він розклав би сміття по всьому каталогу, і розбирати його довелося б руками.
Часті питання
Що як структура сторінки зміниться? Скрипт зупиняється й повідомляє, а не продовжує наосліп. Мовчазний збій тут дорожчий, ніж пауза на день.
Можна щось видалити чи зламати каталог? Скрипт нічого не видаляє. Перед записом він зберігає попереднє значення, тож будь-яку зміну можна відкотити.
Стек
- Python
- Playwright
- REST API
Схожа задача?
Опишіть її двома реченнями. Скажу, чи можна це автоматизувати, і домовимось про коротку зустріч, щоб обговорити деталі.