Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

README

Описание проекта

Этот проект представляет собой асинхронный парсер данных игроков с сайта. Он включает в себя функции для входа в систему, получения списка игроков, обработки профилей и генерации HTML-отчета.

Возможности

  • Асинхронный сбор данных о профилях игроков.
  • Автоматическая повторная попытка при возникновении ошибок сетевого запроса.
  • Кэширование данных для предотвращения избыточных запросов.
  • Генерация HTML-отчета с возможностью фильтрации и поиска.
  • Логирование событий и ошибок в файл.
  • Сохранение неполных данных для дальнейшей обработки.

Установка

  1. Установите зависимости:

    pip install -r requirements.txt
  2. Создайте файл .env и укажите в нем учетные данные:

    USERNAME=ваш_логин
    PASSWORD=ваш_пароль
    

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

  1. Запустите скрипт с помощью Python:

    python main.py --offset 0
  2. Доступные аргументы командной строки:

    • --offset - С какого номера начинать обработку списка игроков (по умолчанию 0).

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

  • login(session, username, password): Функция для авторизации пользователя.
  • fetch_players(session, offset): Получает список игроков с заданного офсета.
  • parse_player_profile(html_content): Извлекает информацию о профиле игрока из HTML-страницы.
  • process_players(session, players, cache, semaphore, progress_bar): Обрабатывает список игроков асинхронно.
  • generate_html_report(cache, previous_cache): Генерирует отчет в формате HTML.
  • validate_player_data(data): Проверяет наличие ключевых полей и сохраняет данные даже при их частичном отсутствии.

Логирование

Все события записываются в файл app.log. Формат сообщений:

2025-01-24 12:00:00 - INFO - Успешный вход в систему!
2025-01-24 12:05:00 - ERROR - Ошибка при загрузке списка игроков: ClientError
2025-01-24 12:10:00 - WARNING - Невалидные данные для игрока username123, сохранены частично.

Структура проекта

.
├── app.log
├── main.py
├── player_data.json
├── players_report.html
├── requirements.txt
├── .env
└── README.md

Зависимости

  • Python 3.9+
  • aiohttp
  • asyncio
  • BeautifulSoup
  • dotenv
  • logging
  • tenacity
  • tqdm
  • json
  • argparse

Авторы

Проект разработан командой энтузиастов для мониторинга игрового сервера.

Releases

Packages

Contributors

Languages