Аналитический инструмент ScratchAPI

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

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

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

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

Введение

Цель проекта — показать, как использовать открытое API социальной сети Scratch для исследования цифрового сообщества «сообщества кода». В рамках проекта с помощью запросов к https://api.scratch.mit.edu собираются данные об отдельном участнике (например, Шаблон:Nowrap) и одной студии, затем результаты визуализируются в виде 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