Исходные данные
Есть веб-приложение на React, TypeScript и Vite (HTML+CSS). В проекте интегрированы два парсера:
- Парсер 1 (Node.js) - собирает данные об играх: названия все доступные издания, скидки, даты выхода (конкретная платформа не указана).
- Парсер 2 (Node.js, Puppeteer, прокси через API) - собирает цены на ключи с конкретной площадки. Именно он требует доработки.
База данных отсутствует, данные используются в реальном времени.
Существующие проблемы
- Парсер пропускает часть объявлений с ключами.
- Некорректно определяет издание игры (стандартное, делюкс, и так далее).
- Названия товаров задаются пользователями вручную, без единого шаблона.
- В описании товара могут быть слова 'аккаунт', 'логин', 'учетная запись', но сам товар при этом фактически является цифровым ключом.
Цель доработки
- Достичь максимально возможной (стремящейся к 100%) выгрузки всех объявлений, которые являются цифровыми ключами.
- Полностью исключить попадание в выдачу аккаунтов, подписок, игровой валюты и прочих нецифровых товаров.
- Корректно сопоставлять объявление с точной игрой и её конкретным изданием.
- Погрешность должна быть минимальной, ориентир - идеальный (100%) результат..
Технические и прочие требования
- Производительность: Решение не должно увеличивать нагрузку на сервер или замедлять работу сайта.
- Дополнительные технологии: Допускается, но не обязательно, применение методов машинного обучения (ML) или обработки естественного языка (NLP), если это оправдано.
- Бюджет на сервисы: Использование платных сторонних API нежелательно. Приоритет отдается локальным программам и решениям.
Требования к результату
- Парсер стабильно находит практический все доступные ключи для игр.
- Система практически безошибочно различает разные издания одной игры.
- Решение полноценно работающее и не требующее ручного вмешательства или проверки.
- Требуется качественное, устойчивое решение, а не временная или 'грязная' доработка.