Аналитика профиля ВК
📊 Аналитика профиля ВКонтакте
Автор: Арлинская Александра
Группа: АДЭУ-221
Дисциплина: Работа с API социальных сетей и визуализация данных
Статус проекта: Выполнен
📘 Введение
Проект представляет собой веб-приложение для детального анализа публичной страницы или профиля ВКонтакте. Пользователь вводит адрес сообщества, после чего система собирает данные через официальное API VK, обрабатывает их и отображает в виде структурированной статистики и наглядных графиков.
🎯 Цель проекта
- Создать удобный инструмент для анализа статистики сообществ ВКонтакте.
- Предоставить пользователю ключевые метрики: количество подписчиков, постов, суммарные лайки, репосты и комментарии.
- Визуализировать динамику вовлечённости по времени: график активности по постам, распределение по часам и дням недели.
- Провести текстовый анализ контента с выделением самых частых слов в публикациях.
🛠 Архитектура и блок-схема проекта
Проект построен на архитектуре клиент-сервер. Backend (Python + FastAPI/Flask) обрабатывает запросы к VK API, собирает и агрегирует данные. Frontend (HTML/CSS/JS) отображает информацию и визуализирует графики с использованием библиотеки Chart.js.
🗂 Структура проекта
Назначение ключевых файлов:
- main.py — серверная логика: маршруты, взаимодействие с VK API, обработка данных.
- templates/index.html — стартовая страница с полем ввода адреса профиля.
- templates/result.html — страница с полной аналитикой: графики, статистика, топ-слов.
- .env — хранение токена доступа к VK API и других секретов.
📊 Описание визуализации
1. Главная страница
Пользователю предлагается ввести адрес страницы (например, durov или полную ссылку vk.com/durov). После нажатия кнопки «Анализировать» система начинает сбор данных. Кнопка «Сбросить» очищает форму для нового запроса.
2. Карточка профиля
В верхней части страницы результатов отображается основная информация о сообществе или пользователе:
- Имя профиля и статус (например, «Pavel Durov» и «Детектор»).
- Геолокация — город (Saint Petersburg).
- Дата рождения и пол (для пользователей).
- Количество подписчиков — крупным шрифтом (4.8M).
- Количество загруженных постов (500).
3. Ключевые метрики
Блок с агрегированной статистикой по всем проанализированным постам:
- Общее количество постов (500).
- Суммарное количество лайков (21.9M) и среднее значение на пост (43717.9).
- Суммарное количество репостов (944.3K).
- Суммарное количество комментариев и среднее значение на пост (0).
4. График вовлечённости по постам
Линейный график, отображающий динамику трёх метрик (лайки, репосты, комментарии) для последних 50 постов. По оси X — даты публикаций, по оси Y — количество взаимодействий. График позволяет визуально оценить пики активности и выявить наиболее успешные публикации.
5. Активность по часам
Горизонтальная столбчатая диаграмма (или круговой график), показывающая распределение публикаций по часам суток. Позволяет определить, в какое время автор чаще всего публикует контент. Часовые интервалы от 00:00 до 21:00.
6. Активность по дням
Столбчатая диаграмма, отображающая количество публикаций по дням недели (Пн, Вт, Ср, Чт, Пт, Сб, Вс). Помогает выявить наиболее активные дни ведения сообщества.
7. Топ-20 слов
Облако слов или список наиболее часто встречающихся слов в текстах постов. Анализ позволяет понять основные темы и ключевые понятия, вокруг которых строится контент сообщества. Пример: «вконтакте», «telegram», «россии», «пользователей», «сегодня».
📌 Выводы
- Разработанное приложение предоставляет полную аналитику публичного профиля ВКонтакте: от базовых метрик до детальных графиков вовлечённости.
- Визуализация данных включает линейные графики динамики постов, распределение по часам и дням недели, а также текстовый анализ с выделением ключевых слов.
- Интерфейс выполнен в стилистике VK: светлый фон, акцентные синие элементы, удобная карточная структура.
- Проект может быть расширен добавлением прогнозных моделей, сравнением нескольких сообществ, а также экспортом отчётов в PDF или Excel.
