Перейти к основному содержимому

Social Feed Manager

Social Feed Manager — это open-source программное обеспечение, которое позволяет пользователям создавать коллекции из социальных медиа через публичные API Twitter, Tumblr, Flickr и Sina Weibo.

Описание

Social Feed Manager разработан для библиотек и архивов, которым нужно систематически архивировать социальные медиа через API.

Особенности

  • Множественные платформы: Twitter, Tumblr, Flickr, Sina Weibo
  • Коллекции: Организация архивов в коллекции
  • Автоматизация: Планирование регулярной архивации
  • Метаданные: Сохранение метаданных вместе с контентом

Установка

Требования

  • Python 3.6+
  • PostgreSQL
  • Redis (опционально, для очередей)

Установка

git clone https://github.com/gwu-libraries/social-feed-manager
cd social-feed-manager
pip install -r requirements.txt

Настройка базы данных

python manage.py migrate
python manage.py createsuperuser

Использование

Веб-интерфейс

python manage.py runserver

Откройте браузер на http://localhost:8000.

Создание коллекции

  1. В веб-интерфейсе нажмите "Create Collection"
  2. Введите название и описание
  3. Выберите платформы для архивации
  4. Настройте параметры архивации

Добавление источников

  1. Выберите коллекцию
  2. Нажмите "Add Source"
  3. Выберите платформу (Twitter, Tumblr, Flickr, Sina Weibo)
  4. Введите идентификатор источника
  5. Настройте параметры архивации

Платформы

Twitter

  • Источники: Пользователи, поисковые запросы, списки
  • Данные: Твиты, ретвиты, ответы
  • Медиа: Изображения, видео

Tumblr

  • Источники: Блоги
  • Данные: Посты, ответы, реблоги
  • Медиа: Изображения, видео, аудио

Flickr

  • Источники: Пользователи, группы, альбомы
  • Данные: Фотографии, метаданные
  • Медиа: Фотографии в различных размерах

Sina Weibo

  • Источники: Пользователи, поисковые запросы
  • Данные: Посты, комментарии
  • Медиа: Изображения, видео

Автоматизация

Планирование

Настройте регулярную архивацию:

  1. Выберите коллекцию
  2. Нажмите "Schedule"
  3. Настройте расписание (ежедневно, еженедельно, и т.д.)
  4. Сохраните расписание

API использование

from social_feed_manager import SFM

sfm = SFM()
collection = sfm.create_collection("My Collection")
source = sfm.add_source(collection, "twitter", "username")
sfm.start_harvest(source)

Формат данных

Структура коллекции

collection/
├── metadata.json
├── twitter/
│ ├── tweets.jsonl
│ └── media/
├── tumblr/
│ ├── posts.jsonl
│ └── media/
└── flickr/
├── photos.jsonl
└── photos/

Best practices

Управление API ключами

  • Храните API ключи в безопасном месте
  • Используйте переменные окружения
  • Регулярно обновляйте ключи

Мониторинг

  • Регулярно проверяйте статус архивации
  • Мониторьте использование API лимитов
  • Проверяйте качество архивов

Организация коллекций

  • Создавайте отдельные коллекции для разных проектов
  • Используйте описательные названия
  • Документируйте коллекции

Сравнение

ИнструментПлатформыКоллекцииАвтоматизацияРекомендация
Social Feed ManagerМножественныеДля библиотек/архивов
twarcTwitter⚠️Для Twitter только
F(b)arcFacebook⚠️Для Facebook только

Когда использовать Social Feed Manager

  • Библиотеки и архивы
  • Множественные платформы
  • Нужна организация в коллекции
  • Регулярная архивация

Когда использовать специализированные инструменты

  • Одна платформа (используйте twarc, F(b)arc)
  • Простые случаи (используйте API напрямую)
  • Разовые архивации (используйте Data Take-Out)

Ресурсы

Связанные материалы