Skip to content

Дипломная работа курса PY-9 в Нетологии.

Notifications You must be signed in to change notification settings

alcatraz-rm/Netology-thesis-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Шпионские игры

В данном репозитории представлена моя дипломная работа на курсе "Python: программирование на каждый день и сверхбыстрое прототипирование" университета интернет-профессий "Нетология".

Основная тема проекта:

Работа с Vk API для анализа сообществ пользователей и выявления уникальных (тех, на которые подписан только данный пользователь).

Входные данные:

Короткое имя пользователя ВКонтакте (screen name, строка) или его id (целое число).

Выходные данные:

Программа выводит ответ в файл формата JSON, который содержит в себе следующую информацию:
  [
    {"name": "Название группы",  
      "gid": "идентификатор группы", 
      "members_count": "количество_участников_собщества"},
    {
      "" 
    }
  ]
Описание работы проекта:
Основной файл проекта - main.py, он связывает между собой все блоки программы.

Работу программы можно разделить на два основных этапа:

  1. Получение данных
  2. Анализ полученных данных

Функции, необходимые для каждой задачи, находятся в отдельном модуле.

  • Получение данных - модуль 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 сообществ, а значениями - информация о данных сообществах.
  • Анализ данных - модуль analyze
    • find_unique_communities(user_communities, user_friends_communities)
      Данная функция принимает на вход список id сообществ каждого пользователя и множество из сообществ его друзей и проводит анализ этих данных, находя сообщества, в которых состоит только данный пользователь и никто из его друзей.

About

Дипломная работа курса PY-9 в Нетологии.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published