Мы развиваем B2B‑платформу для профессионалов винной индустрии в 35+ странах и ищем надежного подрядчика для долгосрочного сотрудничества. Наша цель - построить и поддерживать систему сбора данных, которая ежедневно обновляет цены на вино и наличие товара у онлайн‑ритейлеров по всему миру.
Формат работы
- Долгосрочный проект с регулярным потоком задач (каждую неделю есть работа).
- Полностью удаленная работа, гибкий график.
- Оплата по согласованной ставке - за каждую партию сайт.
- Работа напрямую с техлидом и продактом, без бюрократии.
Основные задачи
- Поддержка и оптимизация существующих Scrapy‑пауков и конфигураций.
- Разработка новых парсеров под интернет‑магазины в разных странах.
- Использование XPath/CSS‑селекторов и регулярных выражений для извлечения данных.
- Диагностика и исправление падений/ошибок парсеров при изменении верстки сайтов.
- Тесное взаимодействие с отделом по управлению данными по вопросам качества данных и приоритета задач.
Наш стек
- Python 3.10+
- Scrapy (обязательно)
- Дополнительно приветствуется опыт с: BeautifulSoup, lxml, Selenium, Playwright.
- Git, Linux, базовые знания SQL будут плюсом.
Требования
- Уверенный Python 3 (чтение чужого кода, рефакторинг, написание чистых модулей).
- Опыт коммерческой разработки парсеров / краулеров (желательно Scrapy) от 1 года.
- Понимание принципов устойчивого парсинга: обработка ошибок, таймаутов, капчей, редиректов, пагинации.
- Уверенная работа с XPath и CSS‑селекторами.
- Аккуратное отношение к данным, внимательность к деталям.
- Базовый английский для чтения документации и названий полей; общение в команде - на русском.
Что предлагаем
- Долгосрочное сотрудничество, постоянный поток задач, понятный бэклог.
- Адекватные сроки и ожидания, без «горящих» ночных дедлайнов.
- Возможность влиять на архитектуру системы парсинга.
- Работа с интересным доменом (винная индустрия, e‑commerce, ценообразование).
Процесс отбора
- Небольшое практическое тестовое задание, чтобы оценить подход к парсингу и качество кода.
- По итогам теста - краткое знакомство по переписке или звонку.
- Далее пробный оплачиваемый период и далее долгосрочное сотрудничество при взаимном интересе.
Тестовое задание
Для сайта нужно реализовать Scrapy‑паука, который обходит сайт и собирает только карточки винных товаров. Пауку необходимо:
- Начинать обход с главной страницы, каталога или sitemap (на твой выбор).
- Находить и переходить по всем (!) ссылкам на карточки винных товаров.
- Для каждой карточки вина формировать JSON‑объект со следующими полями:
- название вина;
- винтаж (год);
- наличие (в наличии / нет);
- URL основной картинки товара;
- цена и валюта;
- объем бутылки (например, 375ml, 750ml, 1500ml);
- количество бутылок (минимальный/стандартный размер заказа, если указано).
- Ожидаемый результат:
- Код Scrapy‑проекта (spider, items/pipelines при необходимости) в архиве или ссылкой на репозиторий.
- Инструкция, как запустить паука и получить JSON‑выгрузку (README или описание в отклике).
- Краткий комментарий, какие сложности встретились и как они решены (структура сайта, пагинация, фильтры и т.д.).
Как откликнуться
- Кратко о своём опыте с веб‑парсингом (какие сайты/домены, какой стек).
- Примеры реализованных проектов (GitHub, описания, скриншоты) - без раскрытия чужих коммерческих тайн.
- Ссылку или архив с решением тестового задания.
- Какие технологии из стека выше вы используете в работе.
- Желаемую почасовую ставку и ориентировочную загрузку (часов в неделю).