Аналитический инструмент ScratchAPI: различия между версиями

Материал из Поле цифровой дидактики
Нет описания правки
Строка 43: Строка 43:
{{#mermaid:
{{#mermaid:
classDiagram
classDiagram
     class Profile
     class Profile["Profile"]
     class Stats
     class Stats["Stats"]
     Profile --> Stats
     Profile --> Stats
      
      
     class Profile note
     subgraph Profile_Info["Profile"]
    Profile note --> "username: griffpatch\nid: 1882674\njoined: 2012-10-24\ncountry: United Kingdom"
        direction TB
        username["username: griffpatch"]
        id["id: 1882674"]
        joined["joined: 2012-10-24"]
        country["country: United Kingdom"]
    end
      
      
     class Stats note
     subgraph Stats_Info["Stats"]
    Stats note --> "followers: 745K+\nprojects: 250+\nviews: 183M+"
        direction TB
        followers["followers: 745K+"]
        projects["projects: 250+"]
        views["views: 183M+"]
    end
}}
}}


== Описание работы скрипта ==
== Описание работы скрипта ==

Версия от 20:32, 27 марта 2026

Анализ сообщества Scratch через API

Карточка проекта

Название проекта
Анализ профиля участника и студии в социальной сети Scratch с помощью открытого API
Автор
Бойко Константин Константинович
Группа
АДЭУ-221
Дисциплина
Работа с API социальных сетей и визуализация данных
Статус проекта
Выполнен

Введение

Цель проекта — показать, как использовать открытое API социальной сети Scratch для исследования цифрового сообщества «сообщества кода». В рамках проекта с помощью запросов к https://api.scratch.mit.edu собираются данные об отдельном участнике (например, griffpatch) и одной студии, затем результаты визуализируются в виде UML‑диаграмм и используются для простого количественного анализа активности.

Цели проекта

  • Научиться формировать HTTP‑запросы к API социальной сети Scratch.
  • Собрать основные данные о пользователе: идентификатор, дата регистрации, страна, краткая биография.
  • Собрать данные о студии: название, количество проектов, подписчиков, комментариев.
  • Представить результаты в виде PlantUML‑диаграмм (структура профиля и студии).
  • Сделать краткий количественный анализ активности участника на основе открытых данных.

Структура проекта

Проект реализован на языке Python и состоит из следующих частей:

  • Основной скрипт — отправка запросов к Scratch API, вывод сырых JSON‑данных и генерация PlantUML‑кода.
  • Функции запроса — отдельные функции для получения данных пользователя и студии.
  • Функции визуализации — генерация текста диаграмм PlantUML для профиля и студии.
  • Отчёт — данная вики‑страница, где приведён код запросов, примеры JSON и получившиеся диаграммы.

Диаграммы классов:

Описание работы скрипта

Получение данных пользователя

Скрипт отправляет GET‑запрос по адресу:

https://api.scratch.mit.edu/users/USERNAME/

и сохраняет в переменные:

  • id — числовой идентификатор участника;
  • username — имя пользователя;
  • history.joined — дата регистрации (используется только дата, без времени);
  • profile.country — страна;
  • profile.bio — краткая биография.

Пример фрагмента JSON для пользователя griffpatch:

{
  "id": 1882674,
  "username": "griffpatch",
  "history": {
    "joined": "2012-10-24T12:59:31.000Z"
  },
  "profile": {
    "country": "United Kingdom",
    "bio": "Got hooked on coding when I was a kid..."
  }
}

Получение данных студии

Для студии используется запрос вида:

https://api.scratch.mit.edu/studios/ID/

Из ответа используются поля:

  • id, title, description;
  • history.created, history.modified;
  • stats.projects, stats.followers, stats.comments.

Пример фрагмента JSON:

{
  "id": 107193,
  "title": "name",
Исходный код и расширенные комментарии:
Файл:Отчет по проекту Бойко.pdf