Этот проект предназначен для сбора постов с Reddit, их фильтрации на основе классификации (например, с помощью LLM) и последующего сбора комментариев для отобранных постов.
Процесс состоит из 4 последовательных шагов:
Скрипт: get_posts.py
- Скачивает топ постов из указанного мультиреддита (настраивается в скрипте).
- Сохраняет сырые данные в файл
reddit_posts.json.
Файл: redacted.json
- На этом этапе необходимо проанализировать
reddit_posts.json(вручную или через LLM). - Результат анализа сохраняется в
redacted.json. - Формат записи для каждого поста:
{ "id": "post_id", "keep": true, "tag": "category", "reason": "Why we keep this" }
Скрипт: filter_posts.py
- Читает сырые посты из
reddit_posts.jsonи решения изredacted.json. - Отбирает только те посты, где
keep: true. - Формирует файл
needed_posts.json, содержащий только полезные посты с добавленными тегами и причинами.
Скрипт: get_comments.py
- Берет список постов из
needed_posts.json. - Для каждого поста скачивает дерево комментариев через API Reddit.
- Сохраняет итоговый датасет (посты + комментарии) в
final_dataset.json.
# 1. Скачать посты
python get_posts.py
# 2. (Здесь вы создаете redacted.json на основе reddit_posts.json)
# 3. Отфильтровать список
python filter_posts.py
# 4. Скачать комментарии и собрать итоговый файл
python get_comments.pyget_posts.py— Скрипт начального сбора.filter_posts.py— Скрипт фильтрации.get_comments.py— Скрипт обогащения данными (комментарии).reddit_posts.json— Сырые данные постов.redacted.json— Файл с решениями о классификации.needed_posts.json— Промежуточный файл с отобранными постами.final_dataset.json— Итоговый результат.
- Интеграция с LLM API: Автоматизировать шаг классификации, подключив API (OpenAI, Anthropic, Gemini) напрямую в пайплайн, чтобы исключить ручное создание
redacted.json. - База данных: Перенести хранение данных из JSON-файлов в SQLite или PostgreSQL для работы с большими объемами данных и удобного поиска.
- Веб-интерфейс: Создать простой веб-сервис (например, на FastAPI или Flask) для просмотра собранных постов и комментариев в удобном виде.
- Скачивание медиа: Добавить функционал для скачивания изображений и видео из постов, помеченных как полезные.
- Анализ тональности: Добавить анализ тональности (Sentiment Analysis) комментариев, чтобы понимать реакцию сообщества на определенные темы.
- Планировщик задач: Настроить автоматический запуск скрипта по расписанию (CRON) для постоянного мониторинга новых постов.