An open API service indexing awesome lists of open source software.

https://github.com/nurjahonergashevme/wbexpressfreqparsebot

Бот для парсинга частоты товаров wildberries с Evirma
https://github.com/nurjahonergashevme/wbexpressfreqparsebot

express-js nodejs vercel wildberries-parser

Last synced: about 1 year ago
JSON representation

Бот для парсинга частоты товаров wildberries с Evirma

Awesome Lists containing this project

README

          

# Wildberries Parser Frequency Bot

Telegram бот для анализа категорий Wildberries с возможностью получения статистики частоты поиска товаров.

## 🚀 Функциональность

- Парсинг категорий товаров Wildberries
- Анализ частотности поисковых запросов через Evirma API
- Экспорт результатов в Excel файл
- Система логирования процесса парсинга
- Административный доступ по ID

## 🛠 Технический стек

- Node.js
- Express.js
- node-telegram-bot-api
- Axios
- XLSX
- Vercel для деплоя

## 💻 Основные компоненты

### LogService
Сервис логирования с функциями:
- Запись логов в файл
- Отправка логов в Telegram
- Обновление сообщений с логами в реальном времени

### FileService
Управление файлами:
- Создание Excel отчетов
- Отправка файлов пользователям
- Автоматическое удаление временных файлов

### EvirmaClient
Взаимодействие с Evirma API:
- Отправка запросов на анализ ключевых слов
- Обработка ответов API
- Таймауты и обработка ошибок

### WildberriesParser
Основной парсер:
- Получение каталога категорий
- Парсинг товаров по страницам
- Анализ данных через Evirma
- Формирование итоговых отчетов

## 🔧 Настройка

1. Создайте файл `.env` со следующими параметрами:
```env
TELEGRAM_BOT_TOKEN=ваш_токен_бота
ADMIN_ID=id1,id2,id3
APP_URL=url_вашего_приложения
SETUP_SECRET=секретный_ключ
```

2. Установите зависимости:
```bash
npm install
```

3. Запустите бот:
```bash
npm start
```

## 📝 Использование

1. Добавьте бота в Telegram
2. Отправьте команду `/start`
3. Нажмите кнопку "Парсить"
4. Отправьте URL категории Wildberries
5. Дождитесь результатов анализа в формате Excel

## 🔒 Безопасность

- Доступ только для авторизованных администраторов
- Защита webhook через секретный ключ
- Временные файлы автоматически удаляются

## 🌐 API Endpoints

- `GET /api/health` - проверка работоспособности
- `POST /api/webhook` - endpoint для Telegram webhook
- `GET /api/setup` - настройка webhook (требует секретный ключ)

## ⚡ Развертывание

Проект настроен для деплоя на Vercel:

1. Подключите репозиторий к Vercel
2. Настройте переменные окружения
3. Активируйте webhook через `/api/setup?token=ваш_секретный_ключ`