В данном репозитории представлена моя дипломная работа на курсе "Python: программирование на каждый день и сверхбыстрое прототипирование" университета интернет-профессий "Нетология".
Работа с Vk API для анализа сообществ пользователей и выявления уникальных (тех, на которые подписан только данный пользователь). Короткое имя пользователя ВКонтакте (screen name, строка) или его id (целое число). Программа выводит ответ в файл формата JSON, который содержит в себе следующую информацию: [
{"name": "Название группы",
"gid": "идентификатор группы",
"members_count": "количество_участников_собщества"},
{
"…"
}
]
Основной файл проекта - main.py, он связывает между собой все блоки программы.
- Получение данных
- Анализ полученных данных
Функции, необходимые для каждой задачи, находятся в отдельном модуле.
- Получение данных - модуль get_data
- get_id_by_short_name(short_name)
Vk API работает в основном только с целочисленными id пользователей. Данная функция принимает на вход короткое имя пользователя (short name или screen name) и возвращает его id. - input_user_id()
Данная функция считывает из консоли id пользователя или его короткое имя (screen name). Если было введено короткое имя, то получает целочисленный id пользователя, затем возвращает его. - get_friends(user_id)
Функция принимает на вход id пользователя и возвращает список его друзей. - get_communities(users)
Функция принимает список пользователей и возвращает множество из id сообществ всех этих пользователей. - communities_get_info(communities)
Данная функция принимает на вход список сообществ, получает данные об этих сообществах и возвращает словарь, где ключами являются id сообществ, а значениями - информация о данных сообществах.
- get_id_by_short_name(short_name)
- Анализ данных - модуль analyze
- find_unique_communities(user_communities, user_friends_communities)
Данная функция принимает на вход список id сообществ каждого пользователя и множество из сообществ его друзей и проводит анализ этих данных, находя сообщества, в которых состоит только данный пользователь и никто из его друзей.
- find_unique_communities(user_communities, user_friends_communities)