Парсер отзывов карточки товара Wildberries на базе TG-бота

ТЗ на разработку парсера отзывов карточки товара Wildberries с использованием Telegram-бота

1. Общее описание проекта

Разработать Telegram-бота, который получает на вход артикул товара или ссылку на товар с Wildberries, осуществляет парсинг отзывов по указанному товару и выгружает результаты в виде Excel-таблицы. Таблица должна содержать следующую информацию: дата отзыва, количество звезд, текст отзыва, цвет и размер товара, имя пользователя.

2. Требования к функционалу

2.1. Input данные
  • Артикул товара — уникальный числовой идентификатор товара на Wildberries.
  • Ссылка на товар — полноценная URL-ссылка на страницу товара на Wildberries.
2.2. Output данные
Бот должен выгружать отзывы в Excel-таблицу, которая будет содержать следующие столбцы:

  • Дата — дата публикации отзыва.
  • Количество звезд — оценка товара от 1 до 5.
  • Текст отзыва — содержимое отзыва.
  • Цвет — цвет товара, который указал покупатель.
  • Размер — размер товара, который выбрал покупатель.
  • Имя — имя пользователя, который оставил отзыв.
2.3. Взаимодействие через Telegram
  1. Пользователь отправляет артикул или ссылку на товар через Telegram-бота.
  2. Бот выполняет валидацию:
    • Проверяет корректность артикула (только числовой формат).
    • Проверяет корректность URL (должен соответствовать формату ссылки Wildberries).
  3. После успешной валидации бот парсит отзывы с Wildberries.
  4. По завершении парсинга бот отправляет пользователю 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. Язык программирования
  • Python.
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

Читайте на 123ru.net