Потрібно розробити парсер для збору товарів із сайту виробника https://come-for.com/ua/, який збирає товари з інтернет-магазину і вивантажує їх у Google Sheets у заданій структурі, щоб контент-менеджер міг далі працювати з цими даними без ручного копіювання товарів із сайту і далі імпортувати ці товари в наш Інтернет магазин зроблений на ЦМС Хорошоп.
Що потрібно парсити:
- Назва товару
- Бренд
- Категорія на сайті виробника
- Тип товару, якщо його можна визначити
- Посилання на товар
- Артикул або код товару, якщо є на сайті
- Ціна
- Валюта
- Наявність, якщо є на сайті
- Основне фото товару
- Галерея фото товару
- Опис товару
- Короткий опис, якщо є
- Характеристики товару
- Розміри, модифікації, варіанти, якщо вони є
- Дані по висоті, жорсткості, наповненню, матеріалах, навантаженню та іншим параметрам, якщо вони є в картці товару
- SEO-дані, якщо вони є в коді або на сторінці
- Дата парсингу
- Статус обробки товару
Вивантаження в Google Sheets:
Дані потрібно записувати у Google таблицю за готовою структурою, яку надамо виконавцю.
У таблиці вже є велика кількість колонок для товарів, зокрема:
артикул, батьківський артикул, назва товару, назва модифікації, бренд, розділ, ціна, стара ціна, валюта, відображення, наявність, фото, галерея, посилання, дата додавання, HTML title, META keywords, META description, H1, постачальник, опис товару, короткий опис, опис для маркетплейсів, характеристики, розміри, AI-статус, AI-дата генерації, AI-помилка та інші поля.
Не всі поля обов’язково мають заповнюватися на першому етапі. Основна задача виконавця - правильно зібрати доступні дані з сайту виробника і коректно покласти їх у відповідні колонки таблиці.
Важливо:
Парсер не має напряму додавати товари на сайт, а має тільки збирати дані з сайту виробника і вивантажувати їх у Google Sheets.
Подальше редагування товарів, адаптація категорій, рерайт описів, AI-обробка та імпорт у Хорошоп будуть виконуватись окремо скоріш за все контент-менеджером.
Логіка роботи парсера:
- Запуск парсера вручну або через просту команду
- Парсер переходить на вказаний сайт
- Збирає список товарів
- Переходить у кожну картку товару
- Збирає всі доступні дані
- Формує коректну структуру даних
- Записує результат у Google Sheets
- Не дублює товари при повторному запуску
- Має можливість оновлювати існуючі товари за посиланням або артикулом
- Має фіксувати помилки, якщо певний товар не вдалося обробити
Бажана логіка оновлення:
Потрібно передбачити два режими:
- Повний парсинг
Зібрати всі товари з сайту і записати їх у таблицю. - Оновлення існуючих товарів
При повторному запуску парсер має перевіряти, чи товар уже є в таблиці. Якщо товар є, потрібно оновити тільки змінні поля: ціна, наявність, фото, характеристики або інші дані, які змінилися.
Якщо товар новий, потрібно додати його як новий рядок.
Категорії:
На сайті виробника категорії можуть відрізнятися від категорій нашого сайту. Наприклад, у виробника можуть бути категорії “топпер”, “футон”, “тонкий матрац”, а на нашому сайті це може бути одна категорія “Тонкі матраци”.
На першому етапі потрібно вивантажувати категорію так, як вона вказана на сайті виробника.
Бажано також додати окрему колонку для майбутньої категорії нашого сайту, але її може заповнювати контент-менеджер вручну.
Фото:
Потрібно зібрати:
- Головне фото товару
- Всі фото галереї
- Посилання на фото в окремих колонках або в одному полі через роздільник
- Бажано передбачити можливість у майбутньому завантажувати фото на Google Drive або інше сховище, але на першому етапі достатньо посилань на фото, якщо вони стабільні
Характеристики:
Якщо на сайті характеристики виведені таблицею або блоками, потрібно зберегти їх максимально структуровано.
Бажано реалізувати один із варіантів:
- Окремі колонки під ключові характеристики
- Загальна колонка “Характеристики” у форматі параметр: значення
- Комбінований варіант, якщо це технічно доцільно
Потрібно зберігати характеристики так, щоб далі їх можна було адаптувати під структуру Хорошоп.
Технічні вимоги:
- Парсер має бути стабільним і придатним для повторного використання
- Код має бути зрозумілим і структурованим
- Потрібно передати вихідний код після завершення роботи
- Потрібно надати коротку інструкцію для запуску
- Потрібно описати, які залежності потрібно встановити
- Потрібно передбачити логування помилок
- Потрібно врахувати можливі обмеження сайту, пагінацію, lazy-load, динамічне завантаження фото або характеристик
- Рішення має коректно працювати з Google Sheets API
- Авторизація до Google Sheets має бути реалізована безпечно
- Бажано, щоб інструмент міг запускатися локально або на сервері
Можливий стек:
Стек можна запропонувати виконавцю. Якщо можна через N8N (на нашому сервері він вже є), то це ідеально.
Або підійде Python, Node.js або інше надійне рішення.
Бажані варіанти:
Python + requests / BeautifulSoup / Selenium / Playwright + Google Sheets API
або
Node.js + Puppeteer / Playwright + Google Sheets API
Остаточний стек можна узгодити з виконавцем, якщо він пояснить, чому його варіант кращий для цієї задачі.
Що потрібно отримати в результаті:
- Робочий парсер для сайту (надамо виконавцю урл). Поки що робимо для одного конкретного сайту.
- Автоматичне вивантаження товарів у Google Sheets
- Коректне заповнення основних колонок таблиці
- Захист від дублювання товарів
- Можливість повторного запуску
- Лог помилок або окремий лист у Google Sheets зі статусами обробки
- Коротка інструкція для запуску
- Передача вихідного коду
- Коментарі в коді або коротке технічне пояснення логіки
- Рекомендації виконавця щодо масштабування під інші сайти
Критерії приймання роботи:
Робота вважається виконаною, якщо:
- Парсер успішно збирає товари з сайту конкурента який надамо виконавцю.
- У таблицю потрапляють назви, ціни, фото, посилання, категорії, описи та характеристики товарів
- Дані записуються в потрібні колонки Google Sheets
- При повторному запуску товари не дублюються
- Нові товари додаються окремими рядками
- Існуючі товари можуть оновлюватися
- Є зрозуміла інструкція, як запустити парсер
- Є вихідний код
- Є пояснення, що робити, якщо сайт змінить структуру
- Виконавець показав тестовий результат на реальних товарах
Важливо одразу продумати архітектуру рішення не тльки для одноразового скрипта, а як інструмент, який можна буде адаптувати під інші сайти та масштабувати.
У майбутньому можуть бути потрібні такі функції:
- Парсинг інших виробників
- Регулярне оновлення цін
- Моніторинг нових товарів
- Моніторинг зміни асортименту
- Порівняння цін
- Автоматичний запуск за розкладом
- AI-обробка описів
- Підготовка файлу до імпорту в Хорошоп
Вимоги до виконавця:
Шукаємо спеціаліста, який має реальний досвід у:
- Парсингу інтернет-магазинів або сайтів виробників
- Роботі з Google Sheets API
- Обробці товарних каталогів
- Роботі з фото, характеристиками, цінами та модифікаціями товарів
- Створенні стабільних парсерів, які можна запускати повторно
- Налаштуванні логування та обробки помилок
Буде перевагою, якщо у вас вже був досвід з товарами для e-commerce, меблями, матрацами, Хорошоп або підготовкою товарних фідів.
Що потрібно написати у відгуку на задачу:
Будь ласка, у відгуку одразу вкажіть:
- Який стек ви пропонуєте для реалізації
- Чи мали ви досвід парсингу інтернет-магазинів
- Чи працювали ви з Google Sheets API
- Як ви плануєте уникати дублювання товарів
- Як будете обробляти фото і галереї
- Як будете фіксувати помилки
- Скільки часу потрібно на першу робочу версію
- Яка орієнтовна вартість реалізації
- Чи зможете потім адаптувати рішення під інші сайти
- Приклади схожих робіт, якщо є
Структура файлу Гугл Таблиці куди необхідно парсити товар тут - https://docs.google.com/spreadsheets/d/1NaEaFHfMIVW_YUg7JOYbm4SuMcIcxd7xIdkaZZ-UHZg/edit?gid=2050477948#gid=2050477948
Сайт виробника Come-For - https://come-for.com/ua/
Спочатку потрібно зробити тест на декількох товарах. Після перевірки структури і якості даних можна запускати повний парсинг усіх товарів.
Очікуваний результат:
Потрібен не просто одноразовий скрипт, а якісний внутрішній інструмент для автоматизації збору товарів з сайту виробника в Google Sheets, який надалі можна буде використовувати для підготовки товарів до імпорту на сайт.