Анализ видеоконтента: различия между версиями
Новая страница: «<div style="font-family: Arial, sans-serif; max-width: 900px; margin: 0 auto; padding: 20px;"> <!-- Карточка проекта --> <div style="background-color: #f0f8ff; padding: 15px; border-radius: 10px; margin-bottom: 25px;"> <h2 style="color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 8px;">🎬 VK Video Analytics — Анализ видеоконтента</h2> <p><b>Автор:</b> Светлана Сели...» |
Нет описания правки |
||
| Строка 39: | Строка 39: | ||
<h3 style="color: #34495e;">Диаграмма работы приложения «VK Video Analytics»</h3> | <h3 style="color: #34495e;">Диаграмма работы приложения «VK Video Analytics»</h3> | ||
{{#mermaid: | |||
flowchart TB | flowchart TB | ||
A[Пользователь вводит ссылку на сообщество] --> B(Flask получает COMMUNITY_INPUT) | A[Пользователь вводит ссылку на сообщество] --> B(Flask получает COMMUNITY_INPUT) | ||
| Строка 57: | Строка 56: | ||
N --> O[Flask рендерит HTML-страницу] | N --> O[Flask рендерит HTML-страницу] | ||
O --> P[Браузер отображает аналитику<br>графики + трендовые темы] | O --> P[Браузер отображает аналитику<br>графики + трендовые темы] | ||
}} | |||
<!-- Структура проекта --> | <!-- Структура проекта --> | ||
Версия от 23:12, 26 марта 2026
🎬 VK Video Analytics — Анализ видеоконтента
Автор: Светлана Селиверстова
Группа: АДЭУ-221
Дисциплина: Работа с API социальных сетей и облачных сервисов
Статус проекта: Выполнен
Цель работы
Разработать инструмент для анализа видеоконтента из открытых источников (VK) с целью выявления актуальных тем, изучения принципов работы API и создания интерактивного веб-интерфейса для визуализации метрик.
Задачи
- Изучить документацию VK API (методы
video.get,users.get,groups.getById,utils.resolveScreenName). - Получить токен доступа для работы с данными.
- Написать скрипт на Python для сбора до 500 видео из сообщества с пагинацией.
- Реализовать фильтрацию «водяных» слов (местоимения, глаголы, вводные конструкции) для выделения смысловых тем.
- Построить графики: топ-10 видео, анализ длительности, временная активность, облако ключевых слов, вовлечённость.
- Создать веб-интерфейс на Flask для отображения аналитики в браузере (localhost).
- Оформить результаты в виде отчёта.
Технологии
- Языки: Python, JavaScript, HTML/CSS
- Библиотеки Python: requests, pandas, matplotlib, seaborn, wordcloud, flask
- API: VK API (видео, пользователи, группы, разрешение имён)
- Визуализация: Matplotlib, Seaborn, WordCloud
- Веб-фреймворк: Flask
Диаграмма работы приложения «VK Video Analytics»
Структура проекта
vk_video_analytics/
├── config.py # настройки: токен, ссылка, лимиты
├── vk_api_client.py # работа с VK API (пагинация, resolveScreenName)
├── analyzer.py # аналитика: DataFrame, стоп-слова, тренды
├── visualizer.py # построение графиков (matplotlib, wordcloud)
├── app.py # веб-сервер Flask
├── templates/
│ └── index.html # HTML-шаблон с графиками и трендами
├── results/ # папка с результатами (создаётся автоматически)
│ ├── videos_data.csv # все собранные данные
│ ├── *.png # графики
│ └── *.json # инсайты и тренды
└── requirements.txt # зависимости
Ход работы над проектом
Этап 1. Создание страницы в вики и выбор темы
Создала страницу проекта на Digida MGPU через форму DigitalTool. Тема: «VK Video Analytics» — анализ видеоконтента ВКонтакте для поиска актуальных тем. Получила комментарий от преподавателя, уточнила требования к объёму выборки (до 500 видео) и фильтрации «водяных» слов.
Этап 2. Изучение VK API и получение токена
Изучила документацию VK API. Пыталась создать приложение, но столкнулась с трудностями. Использовала сервис vkhost.github.io для получения временного токена. Позже разобралась с созданием собственного приложения, получила стабильный токен через standalone-приложение. Необходимые права: video, groups, users.
Этап 3. Написание Python-скрипта для сбора данных
Установила необходимые библиотеки:
pip install requests pandas matplotlib seaborn wordcloud flask
Написала клиент для VK API с поддержкой:
- Преобразования ссылки в ID через
utils.resolveScreenName - Пагинации для получения до 500 видео
- Сбора информации об авторах (пользователи и группы)
Результат: собран DataFrame с полями: title, views, duration, date, engagement и др.
Этап 4. Реализация фильтрации «водяных» слов
Создала список стоп-слов из 425 единиц, включающий:
- Местоимения (твой, мой, его, их, я, ты, мы)
- Глаголы (быть, сказать, делать, хотеть, любить, идти, работать)
- Вводные конструкции (кстати, наверное, конечно, по-моему)
- Частицы, предлоги, союзы (в, на, и, а, но, или)
- Общие слова (самый, хороший, новый, легко, сейчас)
При построении облака слов и поиске трендовых тем эти слова исключаются, остаются только смысловые ключевые слова.
Этап 5. Создание графиков и визуализации
Реализовала модуль визуализации, который строит:
- Топ-10 видео по просмотрам (горизонтальная столбчатая диаграмма)
- Анализ длительности — средние просмотры и распределение по категориям
- Временной анализ — средние просмотры по часам и дням недели
- Облако ключевых слов (только значимые слова после фильтрации)
- Анализ вовлечённости — зависимость вовлечённости от просмотров и по длительности
Этап 6. Создание веб-интерфейса на Flask
Разработала веб-приложение на Flask с маршрутами:
/— главная страница с аналитикой/api/insights— JSON с ключевыми инсайтами/api/trending— JSON с трендовыми темами/api/top_videos— JSON с топ-20 видео/api/chart/<name>— отдача PNG-графиков/refresh— принудительное обновление данных
HTML-шаблон адаптивный, отображает все графики и тренды в удобной сетке.
Этап 7. Тестирование и отладка
Провела тестирование на сообществе https://vk.com/vkvideo. Собрано 500 видео, построены графики. Проверила фильтрацию стоп-слов — в облаке слов и трендах остались только смысловые темы (например, «кино», «сериал», «премьера», «трейлер»).
Итог проекта
Создан работающий инструмент для анализа видеоконтента ВКонтакте с веб-интерфейсом
До 500 видео анализируется | 5 типов графиков | 425 стоп-слов для фильтрации | Автоматическое определение сообщества по ссылке
Проект выполнен в рамках дисциплины «Работа с API социальных сетей и облачных сервисов»
Выводы
В ходе работы над проектом я:
- Научилась работать с VK API — получать токен, делать запросы с пагинацией, обрабатывать ответы, использовать
resolveScreenNameдля преобразования ссылок. - Освоила очистку текстовых данных: фильтрацию стоп-слов (местоимения, глаголы, вводные конструкции) для выделения смысловых тем.
- Создала комплексную аналитику видеоконтента: топ видео, анализ длительности, временную активность, вовлечённость, облако ключевых слов.
- Разработала веб-приложение на Flask с интерактивным интерфейсом и графиками.
- Поняла, как устроены современные сервисы аналитики контента, собирающие данные через открытые API.
Проект можно развивать дальше: добавить анализ хэштегов, прогнозирование виральности на основе нейросетей, интеграцию с другими соцсетями (YouTube, Telegram), экспорт отчётов в PDF.
