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

Материал из Поле цифровой дидактики
Строка 42: Строка 42:


{{#mermaid:
{{#mermaid:
classDiagram
flowchart TB
     class Profile["Profile"]
     Profile["Profile"]
     class Stats["Stats"]
     Stats["Stats"]
     Profile --> Stats
     Profile --> Stats
   
 
     subgraph Profile_Info["Profile"]
     Profile_Details["📌 Profile Details:\n• username: griffpatch\n• id: 1882674\n• joined: 2012-10-24\n• country: United Kingdom"]
        direction TB
     Stats_Details["📊 Stats Details:\n• followers: 745K+\n• projects: 250+\n• views: 183M+"]
        username["username: griffpatch"]
 
        id["id: 1882674"]
    Profile --- Profile_Details
        joined["joined: 2012-10-24"]
     Stats --- Stats_Details
        country["country: United Kingdom"]
 
     end
    class Profile,Stats fill:#4a76a8,stroke:#2c3e50,color:#fff,stroke-width:2px
   
    class Profile_Details,Stats_Details fill:#e3f2fd,stroke:#1976d2,stroke-width:1px
    subgraph Stats_Info["Stats"]
        direction TB
        followers["followers: 745K+"]
        projects["projects: 250+"]
        views["views: 183M+"]
     end
}}
}}



Версия от 20:38, 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