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.
Создание коллекции
- В веб-интерфейсе нажмите "Create Collection"
- Введите название и описание
- Выберите платформы для архивации
- Настройте параметры архивации
Добавление источников
- Выберите коллекцию
- Нажмите "Add Source"
- Выберите платформу (Twitter, Tumblr, Flickr, Sina Weibo)
- Введите идентификатор источника
- Настройте параметры архивации
Платформы
Twitter
- Источники: Пользователи, поисковые запросы, списки
- Данные: Твиты, ретвиты, ответы
- Медиа: Изображения, видео
Tumblr
- Источники: Блоги
- Данные: Посты, ответы, реблоги
- Медиа: Изображения, видео, аудио
Flickr
- Источники: Пользователи, группы, альбомы
- Данные: Фотографии, метаданные
- Медиа: Фотографии в различных размерах
Sina Weibo
- Источники: Пользователи, поисковые запросы
- Данные: Посты, комментарии
- Медиа: Изображения, видео
Автоматизация
Планирование
Настройте регулярную архивацию:
- Выберите коллекцию
- Нажмите "Schedule"
- Настройте расписание (ежедневно, еженедельно, и т.д.)
- Сохраните расписание
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 ключи в безопасном месте
- Используйте переменные окружения
- Регулярно обновляйте ключи