ТЗ на разработку парсера отзывов карточки товара Wildberries с использованием Telegram-бота
1. Общее описание проекта
Разработать Telegram-бота, который получает на вход артикул товара или ссылку на товар с Wildberries, осуществляет парсинг отзывов по указанному товару и выгружает результаты в виде Excel-таблицы. Таблица должна содержать следующую информацию: дата отзыва, количество звезд, текст отзыва, цвет и размер товара, имя пользователя.
2. Требования к функционалу
2.1. Input данные
- Артикул товара — уникальный числовой идентификатор товара на Wildberries.
- Ссылка на товар — полноценная URL-ссылка на страницу товара на Wildberries.
2.2. Output данные
Бот должен выгружать отзывы в Excel-таблицу, которая будет содержать следующие столбцы:
- Дата — дата публикации отзыва.
- Количество звезд — оценка товара от 1 до 5.
- Текст отзыва — содержимое отзыва.
- Цвет — цвет товара, который указал покупатель.
- Размер — размер товара, который выбрал покупатель.
- Имя — имя пользователя, который оставил отзыв.
2.3. Взаимодействие через Telegram
- Пользователь отправляет артикул или ссылку на товар через Telegram-бота.
- Бот выполняет валидацию:
- Проверяет корректность артикула (только числовой формат).
- Проверяет корректность URL (должен соответствовать формату ссылки Wildberries).
- После успешной валидации бот парсит отзывы с Wildberries.
- По завершении парсинга бот отправляет пользователю Excel-файл с выгруженными отзывами.
3. Требования к парсингу
3.1. Объект для парсинга
Отзывы товара на Wildberries. Парсер должен поддерживать извлечение:
- Всех отзывов по товару, независимо от их количества.
- Данных о цвете и размере товара, выбранных покупателем, при наличии.
3.2. Особенности парсинга
- Учесть динамическую загрузку отзывов (использование AJAX или других методов для подгрузки дополнительных отзывов).
- Использовать пагинацию для сбора всех отзывов, если они разбиты на страницы.
3.3. Частота запросов
- Необходимо предусмотреть соблюдение лимитов запросов к серверу Wildberries (например, с помощью выставления задержек между запросами).
- Обеспечить возможность обработки ошибок (например, при временной блокировке IP или отсутствии отзывов для товара).
4. Требования к структуре Telegram-бота
4.1. Команды для взаимодействия с ботом
/start
— приветственное сообщение с инструкцией./help
— справка по возможностям бота и форматам ввода.- Ввод ссылки или артикула — бот должен корректно распознавать либо ссылку, либо артикул, полученные в одном сообщении.
4.2. Ответы бота
- При успешной валидации данных — сообщение о начале парсинга.
- При ошибке валидации — сообщение с указанием причины ошибки (например, неверный формат артикула или некорректная ссылка).
- По завершении работы — отправка файла с отзывами.
5. Требования к формату Excel-таблицы
- Файл должен иметь формат
.xlsx
. - В таблице должны быть следующие столбцы:
- Дата публикации.
- Количество звезд.
- Текст отзыва.
- Цвет товара.
- Размер товара.
- Имя пользователя.
- Таблица должна содержать все отзывы по указанному товару, начиная с самых новых.
6. Технические требования
6.1. Язык программирования
6.2. Используемые библиотеки и технологии
- Для работы с Telegram API:
python-telegram-bot
, telebot
или аналогичные. - Для парсинга данных:
BeautifulSoup
, Selenium
, requests
, или другие подходящие библиотеки для обработки динамических страниц. - Для создания Excel-файла:
openpyxl
или pandas
. - Для обработки ссылок и артикула: валидация регулярными выражениями.
6.3. Инфраструктура
- Бот должен быть развернут на сервере с постоянным подключением к интернету.
- Предусмотреть возможность использования прокси-серверов для обхода блокировок.
7. Обработка ошибок
- Реализовать обработку возможных ошибок, таких как:
- Недоступность страницы товара.
- Неверный формат ссылки или артикула.
- Ошибки на сервере Wildberries (например, при временной недоступности ресурса).
- Отсутствие отзывов для товара.
В случае ошибки бот должен информировать пользователя о её причине и предложить повторить попытку.
8. Тестирование и валидация
- Провести тестирование с несколькими товарами для оценки корректности работы парсера.
- Проверить корректность выгрузки Excel-таблиц с различным количеством отзывов (от нескольких до сотен/тысяч).
9. Сроки разработки
- Разработка парсера и базового функционала бота: 10 рабочих дней.
- Тестирование и исправление ошибок: 5 рабочих дней.
10. Контактная информация
Для получения дополнительных данных или уточнения деталей, свяжитесь с заказчиком через следующие каналы:
- Telegram: shamil_bahteev
- Телефон: 89874208097