Парсер Reddit: сбор постов и комментариев по сабреддитам
Необходимо разработать скрипт (парсер/скреппер) для сбора информации из Reddit по заданным сабреддитам. Парсер должен проходиться по постам, извлекая заголовки, текст постов и комментарии. Дополнительно, скрипт должен предоставлять возможность указания количества постов (например, топ 500 или топ 1000) и фильтра по популярности (hot, top, rising). Собранные данные должны сохраняться в определенный файл (например, CSV, Excel).
Функциональные требования:
Сбор данных:
Парсер должен собирать информацию с Reddit по указанным сабреддитам. Можно использовать либо API Reddit, либо веб-скраппинг (без API).
Данные, которые необходимо извлекать из каждого поста:
Заголовок поста.
Текст поста (если есть).
Комментарии к посту (если есть).
Имя автора поста и комментариев.
Время публикации поста и комментариев.
Возможность парсить топовые посты по категориям: hot, top, rising.
Возможность указания количества постов (например, 500 или 1000).
Поддержка нескольких сабреддитов (например, список сабреддитов для парсинга).
Должна быть возможность парсить посты за определенный период (например, за последний месяц) или брать n-количество последних постов.
Формат вывода:
Данные должны быть записаны в файл (форматы: CSV, Excel).
Возможность указать путь для сохранения файла на локальный диск.
Фильтрация и параметры парсинга:
Возможность выбрать категорию для парсинга (hot, top, rising).
Возможность указания количества постов для парсинга (например, 500 или 1000).
Возможность указания времени парсинга (например, за последние n дней).
Настройки и запуск:
Скрипт должен быть легко настраиваемым. Необходимо предоставить инструкцию по настройке и запуску парсера (в том числе установку необходимых библиотек).
Возможна реализация через Python (с использованием API или веб-скраппинга) или с помощью инструментов автоматизации, таких как ZennoPoster.
При необходимости, использование proxy для обхода ограничений на количество запросов.
Технические требования:
Язык программирования: Python или ZennoPoster (либо другой по согласованию).
Скрипт должен быть кросс-платформенным (работать как на Windows, так и на Linux/Mac).
Использование стандартных библиотек для парсинга или веб-скраппинга (например, PRAW для API, BeautifulSoup/Scrapy для веб-скраппинга).