Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ AVITO MAX PARSER

Профессиональный автономный комбайн мониторинга, парсинга и нейросетевой оценки выгодности лотов Авито в реальном времени

Python FastAPI Playwright SQLite AI Engine UI Style

Ключевые возможностиАрхитектураУстановка WindowsУстановка UbuntuЗапуск в DockerAI Deal ScoringTelegram Бот


📌 О проекте

Avito Max Parser — это enterprise-решение для профессиональных перекупщиков, инвесторов, арбитражников и e-commerce аналитиков. Система обеспечивает круглосуточный фоновый мониторинг поисковых выдач Авито с интервалом от 1 минуты, фильтрует дубликаты, автоматически рассчитывает многофакторный скоринг сделки (0–100 баллов), генерирует экспертные AI-резюме и мгновенно отправляет уведомления о самых горячих находках в Telegram.

Система поставляется с современным Linear/Vercel Dark веб-интерфейсом управления, не требует сторонних платных сервисов для работы ядра и готова к установке на Windows Server, Ubuntu/Debian Linux VPS или Docker.


✨ Ключевые возможности

  • 🚀 Двухъядерный движок сбора (Hybrid Scraper Core):
    • Быстрый HTTP-парсер на базе curl_cffi с поддержкой эмуляции TLS/JA3 фингерпринтов браузеров.
    • Headless Chromium на базе Playwright с защитой от поведенческого анализа и анти-детект технологией.
  • 💎 Интеллектуальная система AI Deal Scoring:
    • Математический скоринг по 6 ключевым факторам: отклонение от медианы цен, надежность и отзывы продавца, глубина описания, Авито Доставка, динамика цен и штрафы за скрытые дефекты.
    • Градация лотов: 💎 GEM (85-100), 🔥 HOT (70-84), ⚖️ FAIR (50-69), ⚠️ CAUTION (<50).
    • Опциональная интеграция нейросетей (DeepSeek, OpenAI, OpenRouter, локальная Ollama) для генерации вердикта о перепродаже в 2 клика.
  • 📡 Автономный 24/7 Мониторинг & Telegram-бот:
    • Асинхронный Telegram-бот на aiogram 3 с интерактивными кнопками управления, фильтрацией по минимальному скорингу (например, слать только GEM 85+), тихими часами и карточками с фото.
  • 🎨 Премиальный веб-терминал (FastAPI + WebSockets):
    • Темная тема в стиле Linear/Vercel (#050505) с матовыми поверхностями и ультратонкой графикой.
    • Живой просмотр логов и телеметрии в реальном времени через WebSockets.
    • Сетка и табличный вид каталога, мультиселект, пакетное удаление и добавление в избранное.
  • 📊 Мультиформатный экспорт:
    • Выгрузка базы и отфильтрованных выборок в форматы Excel (.xlsx) с автошириной колонок, HTML-отчеты, CSV и JSON.
  • 🛡️ Пул ротации прокси & Anti-Ban:
    • Поддержка HTTP, SOCKS5 и авторизационных прокси с динамической проверкой пинга и автоматической изоляцией сбойных адресов.

🏗 Архитектура системы

                             ┌───────────────────────────────────┐
                             │       Avito.ru Target Search      │
                             └─────────────────┬─────────────────┘
                                               │
                                 [Playwright / curl_cffi]
                                               │
                                               ▼
┌──────────────────────────────────────────────────────────────────────────────────┐
│                             AVITO MAX PARSER ENGINE                              │
├────────────────────────────────┬─────────────────────────────────────────────────┤
│ 1. Data Extractor & Sanitizer  │ Парсинг цен, фото, параметров, продавца, скидок │
│ 2. Deal Scoring Engine         │ Расчет рыночной медианы + 6 факторов оценки     │
│ 3. LLM AI Evaluator (Optional) │ DeepSeek / OpenAI / Ollama анализ дефектов     │
│ 4. SQLite Async Storage        │ Хранение каталога, цен, истории и сессий        │
└────────────────────────────────┴───────────────────────┬─────────────────────────┘
                                                         │
                        ┌────────────────────────────────┴────────────────────────┐
                        │                                                         │
                        ▼                                                         ▼
    ┌───────────────────────────────────────┐         ┌───────────────────────────────────────┐
    │     FastAPI Web Control Terminal      │         │         Telegram Bot Daemon           │
    │  (Linear-style Dashboard & REST API)  │         │   (Push-уведомления GEM/HOT лотов)    │
    └───────────────────┬───────────────────┘         └───────────────────┬───────────────────┘
                        │                                                 │
                        ▼                                                 ▼
             [Web Browser Dashboard]                             [Telegram Client]

💻 Установка на Windows / Windows Server

Требования:

  • Windows 10, Windows 11 или Windows Server 2019/2022.
  • Python 3.10 или выше (скачать с python.org с галочкой "Add Python to PATH").

Быстрый старт (1 клик):

  1. Скачайте архив релиза Avito-Max-Parser-v2.5.0-Windows.zip и распакуйте в любую удобную папку.
  2. Запустите файл install_windows.bat. Скрипт автоматически:
    • Создаст виртуальное окружение venv.
    • Установит все библиотеки из requirements.txt.
    • Установит браузерный движок Chromium (playwright install).
    • Создаст файл конфигурации .env.
  3. Для запуска используйте готовые ярлыки:
    • start_all.bat — одновременный запуск Веб-панели и Telegram-бота.
    • start_server.bat — запуск только веб-панели.
    • start_telegram_bot.bat — запуск только бота.
  4. Откройте в браузере: http://127.0.0.1:8000
    • Логин по умолчанию: admin
    • Пароль по умолчанию: admin123

🐧 Установка на Ubuntu / Debian Server

Требования:

  • Ubuntu 20.04 / 22.04 / 24.04 LTS или Debian 11 / 12 (VPS/VDS от 1 vCPU, 1 GB RAM).

Автоматическая установка (1 команда):

# 1. Клонируйте репозиторий или распакуйте архив
git clone <your-repo-url> /opt/avito_parser
cd /opt/avito_parser

# 2. Запустите скрипт автоустановки
chmod +x install_ubuntu.sh setup_systemd.sh
sudo ./install_ubuntu.sh

Настройка фоновой службы 24/7 (systemd):

Чтобы веб-панель и бот работали непрерывно и автоматически поднимались при перезагрузке сервера:

sudo ./setup_systemd.sh

Управление службами Linux:

# Просмотр статуса
sudo systemctl status avito-parser
sudo systemctl status avito-bot

# Перезапуск / Остановка
sudo systemctl restart avito-parser
sudo systemctl stop avito-parser

# Живые логи
sudo journalctl -u avito-parser -f

🐳 Развертывание в Docker

Для изолированного запуска на любом сервере без ручной установки Python и Chromium:

# 1. Склонируйте репозиторий и настройте .env
cp .env.example .env
nano .env

# 2. Запустите контейнеры
docker compose up -d --build

# 3. Просмотр логов
docker compose logs -f web

💎 Система оценки выгодности (AI Deal Scoring)

Движок рассчитывает объективный показатель качества лота по шкале 0–100 баллов:

Градация Баллы Описание
💎 GEM 85 – 100 Исключительно выгодный лот со скидкой от 30% ниже рынка, проверенным продавцом и защитой сделки.
🔥 HOT DEAL 70 – 84 Отличная цена ниже рынка (15-25%), высокий потенциал для перепродажи/покупки.
⚖️ FAIR 50 – 69 Стандартная среднерыночная цена без выраженных преимуществ.
⚠️ CAUTION < 50 Завышенная цена, риск дефекта, отсутствие отзывов или стоп-слова в описании.

Весовые категории формулы:

  1. Ценовой фактор (до 45 баллов): Расчет отклонения цены товара от медианы активного поискового пула.
  2. Репутация продавца (до 20 баллов): Верификация документов/Госуслуг, рейтинг $\ge 4.8$, число отзывов $&gt; 10$.
  3. Прозрачность и контент (до 15 баллов): Галерея $\ge 4$ фото, структурированные характеристики, подробное описание.
  4. Безопасность сделки (до 10 баллов): Наличие Авито Доставки, точный адрес/станция метро.
  5. Динамика цены (до 10 баллов): Зафиксированное снижение цены продавцом ($old_price &gt; price$).
  6. Штрафы за риски (до -30 баллов): Автоматическое выявление маркеров дефектов («на запчасти», «разбит», «не включается», «копия»).

🤖 Telegram Бот

Бот функционирует в связке с единой базой данных SQLite:

  • /start — Главное меню управления и статус мониторинга.
  • /stats — Сводная статистика по базе (число лотов, средние цены, найденные скидки).
  • /searches — Список активных поисковых задач с возможностью ручного триггера.
  • /settings — Интерактивная настройка фильтров:
    • Порог AI Score (Все / 70+ HOT / 85+ GEM).
    • Минимальный процент скидки.
    • Только Авито Доставка.
    • Тихие часы (ночной режим без звука).

⚙️ Конфигурация (.env)

Параметр По умолчанию Описание
WEB_HOST 0.0.0.0 Хост для запуска веб-панели
WEB_PORT 8000 Порт веб-интерфейса
TELEGRAM_BOT_TOKEN Токен бота от @BotFather
TELEGRAM_ADMIN_IDS Список Telegram ID администраторов через запятую
SCRAPER_HEADLESS true Фоновый запуск Chromium (true для серверов)
SCRAPER_TIMEOUT_MS 45000 Таймаут загрузки страниц (мс)
NOTIFICATION_INTERVAL_MIN 2 Интервал проверки мониторинга (минуты)
AI_PROVIDER deepseek Провайдер нейросети (deepseek / openai / ollama)
AI_API_KEY API-ключ для LLM анализа

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

  • Доступ к панели защищен сессионной авторизацией с хешированием паролей (SHA-256 + Salt).
  • Все сессионные токены хранятся в защищенных HttpOnly Cookies.
  • База данных SQLite использует оптимизированный режим WAL с пулом асинхронных подключений.

Avito Max Parser • Enterprise Edition v2.5.0

About

⚡ Профессиональный автономный комбайн мониторинга, парсинга и нейросетевой оценки выгодности лотов Авито с веб-панелью и Telegram-ботом

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages