Анализ неактивных подписчиков VK: различия между версиями
Patarakin (обсуждение | вклад) |
Нет описания правки |
||
| Строка 7: | Строка 7: | ||
Анализ осуществляется на основе данных о лайках и комментариях к последним публикациям сообщества, полученных с помощью VK API. | Анализ осуществляется на основе данных о лайках и комментариях к последним публикациям сообщества, полученных с помощью VK API. | ||
''Программа работает с любыми открытыми сообществами социальной сети ВКонтакте. | |||
Для анализа не требуется, чтобы пользователь являлся администратором сообщества, | |||
достаточно, чтобы сообщество было открытым и данные были доступны через VK API.'' | |||
| Строка 64: | Строка 67: | ||
Блок-схема работы приложения представлена ниже: | Блок-схема работы приложения представлена ниже: | ||
[[ | <mermaid> | ||
flowchart TD | |||
A[Начало] --> B[Ввод ссылки на сообщество] | |||
B --> C[Ввод количества постов] | |||
C --> D[Получение данных о сообществе] | |||
D --> E{Сообщество найдено?} | |||
E -- Нет --> F[Вывод ошибки] | |||
F --> G[Конец] | |||
E -- Да --> H[Получение списка подписчиков] | |||
H --> I[Получение последних постов] | |||
I --> J[Сбор лайков и комментариев] | |||
J --> K[Формирование списка активных пользователей] | |||
K --> L[Определение неактивных подписчиков] | |||
L --> M[Расчет статистики] | |||
M --> N[Вывод результатов] | |||
N --> O[Конец] | |||
</mermaid> | |||
| Строка 80: | Строка 101: | ||
* Неактивные пользователи = все подписчики − активные пользователи | * Неактивные пользователи = все подписчики − активные пользователи | ||
== Фрагменты программного кода == | |||
=== Получение данных из VK API === | |||
<syntaxhighlight lang="python"> | |||
def get_group_info(self, group_input): | |||
screen_name = self.normalize_group_input(group_input) | |||
response = self._request( | |||
"groups.getById", | |||
{ | |||
"group_id": screen_name, | |||
"fields": "members_count" | |||
} | |||
) | |||
group = response["groups"][0] | |||
return { | |||
"id": group["id"], | |||
"name": group["name"] | |||
} | |||
</syntaxhighlight> | |||
=== Определение неактивных пользователей === | |||
<syntaxhighlight lang="python"> | |||
active_users = likes_users.union(comments_users) | |||
inactive_users = all_members - active_users | |||
</syntaxhighlight> | |||
=== Расчет активности === | |||
<syntaxhighlight lang="python"> | |||
for user_data in member_map.values(): | |||
total_activity = ( | |||
user_data["liked_posts_count"] + | |||
user_data["commented_posts_count"] | |||
) | |||
user_data["status"] = "active" if total_activity > 0 else "inactive" | |||
</syntaxhighlight> | |||
== Интерфейс приложения == | == Интерфейс приложения == | ||
| Строка 96: | Строка 154: | ||
[[Файл:voznes3.jpg]] | [[Файл:voznes3.jpg]] | ||
== Результаты анализа в формате CSV == | |||
Данные автоматически загружаются из CSV-файла, размещенного в GitHub. | |||
{{#get_web_data: | |||
url=https://raw.githubusercontent.com/VoznesenskayaV/LabOP/main/inactive_subscribers_report.csv | |||
|format=csv with header | |||
}} | |||
{| class="wikitable" | |||
! user_id !! first_name !! last_name !! liked_posts_count !! commented_posts_count !! total_activity !! status | |||
{{#for_external_table: | |||
|- | |||
| {{{user_id}}} | |||
| {{{first_name}}} | |||
| {{{last_name}}} | |||
| {{{liked_posts_count}}} | |||
| {{{commented_posts_count}}} | |||
| {{{total_activity}}} | |||
| {{{status}}} | |||
}} | |||
|} | |||
Приложение имеет простой и удобный интерфейс, включающий: | Приложение имеет простой и удобный интерфейс, включающий: | ||
* поле для ввода сообщества | * поле для ввода сообщества | ||
Версия от 09:57, 27 марта 2026
Анализ неактивных подписчиков сообщества VK
Описание проекта
В рамках данного проекта было разработано приложение для анализа активности подписчиков сообщества социальной сети ВКонтакте. Приложение позволяет выявлять неактивных пользователей, которые не взаимодействуют с контентом сообщества.
Анализ осуществляется на основе данных о лайках и комментариях к последним публикациям сообщества, полученных с помощью VK API.
Программа работает с любыми открытыми сообществами социальной сети ВКонтакте. Для анализа не требуется, чтобы пользователь являлся администратором сообщества, достаточно, чтобы сообщество было открытым и данные были доступны через VK API.
Цель проекта
Разработка программного приложения для анализа активности подписчиков сообщества ВКонтакте и выявления неактивных пользователей.
Задачи проекта
- Изучить возможности VK API для получения данных о сообществе
- Реализовать получение списка подписчиков
- Реализовать получение данных о постах, лайках и комментариях
- Разработать алгоритм определения активности пользователей
- Создать удобный интерфейс приложения
- Визуализировать результаты анализа
Используемые технологии
- Python
- VK API
- Streamlit (для создания интерфейса)
- requests (для работы с API)
- pandas (для обработки данных)
- matplotlib (для построения графиков)
Архитектура приложения
Приложение реализовано по модульному принципу и состоит из следующих компонентов:
- app.py — пользовательский интерфейс (Streamlit)
- vk_api_client.py — модуль взаимодействия с VK API
- analyzer.py — модуль анализа активности пользователей
- config.py — конфигурационные параметры (токен, настройки)
- visualizer.py — визуализация данных
Описание работы приложения
Приложение реализовано в виде веб-интерфейса с использованием библиотеки Streamlit.
Пользователь вводит:
- ссылку или короткое имя сообщества
- количество последних постов для анализа
После запуска анализа приложение:
- получает данные о сообществе
- загружает список подписчиков
- получает последние публикации
- собирает данные о лайках и комментариях
- определяет активных и неактивных пользователей
Алгоритм работы
Блок-схема работы приложения представлена ниже:
Метод определения активности
Пользователь считается активным, если он:
- поставил хотя бы один лайк
- или оставил хотя бы один комментарий
Если пользователь не совершал ни одного действия, он считается неактивным.
Формально:
- Активные пользователи = пользователи с лайками ∪ пользователи с комментариями
- Неактивные пользователи = все подписчики − активные пользователи
Фрагменты программного кода
Получение данных из VK API
def get_group_info(self, group_input):
screen_name = self.normalize_group_input(group_input)
response = self._request(
"groups.getById",
{
"group_id": screen_name,
"fields": "members_count"
}
)
group = response["groups"][0]
return {
"id": group["id"],
"name": group["name"]
}
Определение неактивных пользователей
active_users = likes_users.union(comments_users)
inactive_users = all_members - active_users
Расчет активности
for user_data in member_map.values():
total_activity = (
user_data["liked_posts_count"] +
user_data["commented_posts_count"]
)
user_data["status"] = "active" if total_activity > 0 else "inactive"
Интерфейс приложения
Начальная страница
Готовый анализ
График
Таблицы
Результаты анализа в формате CSV
Данные автоматически загружаются из CSV-файла, размещенного в GitHub.
| user_id | first_name | last_name | liked_posts_count | commented_posts_count | total_activity | status
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|---|
Приложение имеет простой и удобный интерфейс, включающий:
- поле для ввода сообщества
- выбор количества постов
- кнопку запуска анализа
- блоки со статистикой
- график активности
- таблицу результатов
Результаты работы
В результате работы приложения определяется:
- общее количество подписчиков
- количество активных пользователей
- количество неактивных пользователей
- процент неактивных подписчиков
Также формируется таблица пользователей и график распределения активности.
Практическая значимость
Разработанное приложение может быть использовано:
- администраторами сообществ для анализа аудитории
- для оценки вовлеченности пользователей
- для выявления неактивных подписчиков
- в маркетинговых исследованиях
Заключение
В ходе выполнения проекта было разработано приложение для анализа активности пользователей социальной сети ВКонтакте.
Данное приложение позволяет автоматизировать процесс анализа вовлеченности аудитории и выявления неактивных пользователей.
Проект демонстрирует применение API социальных сетей, методов анализа данных и визуализации информации.





