Google ежегодно платит $60 миллионов за лицензию на данные Reddit. По слухам, сделка OpenAI оценивается в $70 миллионов. Это многое говорит о том, что скрыто в этих ветках комментариев. Если вы хоть раз пытались вручную собирать обсуждения, комментарии или данные о тональности с Reddit, то знаете, насколько это утомительно: бесконечная прокрутка, копирование и вставка, десятки вкладок.
В прошлом квартале я потратил немало времени, помогая команде Thunderbit разобраться, как именно люди извлекают данные из Reddit в 2025 году. После обновления ценовой политики Reddit API в 2023 году ситуация сильно изменилась, а большинство гайдов в интернете либо уже устарели, либо описывают только один способ. Поэтому я собрал всё, что реально работает прямо сейчас — четыре разных подхода, от полноценного Python-скриптинга до извлечения данных без кода, — чтобы вы могли выбрать вариант под свой уровень и задачу. Хотите собрать датасет для NLP, отслеживать упоминания бренда в сабреддите или просто получить таблицу с популярными постами — этот материал вам пригодится.
Что такое скрапинг Reddit и зачем он нужен?
Скрапинг Reddit — это программное извлечение постов, комментариев, данных пользователей и метаданных со страниц Reddit или через API. Вместо ручного просмотра веток и копирования текста вы используете скрипт или инструмент, чтобы собирать структурированные данные в нужном объёме.
Зачем вообще это делать? На Reddit более и, по оценкам, публикуется . Здесь люди делятся неприукрашенными мнениями о продуктах, сервисах, конкурентах и трендах — это тот самый живой сигнал, который почти невозможно найти на отполированных сайтах с отзывами или в корпоративных блогах. Google платит примерно за лицензию на контент Reddit, а сделка OpenAI, по сообщениям, составляет . Если крупнейшие AI-компании мира платят за эти данные девятизначные суммы, стоит разобраться, как получить к ним доступ самостоятельно.
Зачем скрапить Reddit с помощью Python в 2025 году?
Python — стандартный язык для скрапинга Reddit: PRAW, requests, BeautifulSoup и pandas закрывают весь путь от API-запросов до экспорта данных. Но причина использовать Python не сводится только к инструментам.
Вот самые частые сценарии, которые я вижу у бизнес-команд и исследователей:
| Сценарий | Кому полезно | Пример |
|---|---|---|
| Исследование рынка и проверка гипотез | Продакт-менеджеры, фаундеры | Поиск повторяющихся болей в r/SaaS или r/Entrepreneur |
| Анализ тональности | Маркетинг, бренд-команды | Отслеживание того, как люди говорят о вашем продукте и конкурентах |
| Генерация лидов | Отделы продаж | Поиск постов вроде «ищу инструмент, который умеет X» в нишевых сабреддитах |
| Идеи для контента | Контент-маркетологи | Выявление популярных вопросов и тем в r/marketing или r/SEO |
| Академические / NLP-исследования | Исследователи, дата-сайентисты | Создание размеченных датасетов из комментариев для классификации эмоций |
| Конкурентная разведка | Стратегия, операционные команды | Мониторинг сабреддитов конкурентов на предмет повторяющихся жалоб |
По оценкам, аудитория Reddit достигла , а еженедельная активная аудитория составила — рост на 24% год к году. А после августовского core update Google 2024 года контент Reddit стал примерно в органической выдаче.
Иными словами: данные, которые вы извлекаете из Reddit, всё чаще совпадают с теми данными, которые Google показывает пользователям в поиске.
Какой способ выбрать для скрапинга Reddit? (Краткое сравнение)
Самый частый вопрос на форумах по скрапингу Reddit звучит буквально так: «Какой метод мне использовать?» Поэтому я собрал эту таблицу. Выбирайте подходящую строку и двигайтесь дальше.
| Критерий | PRAW | .json endpoint | BeautifulSoup (HTML) | Без кода (Thunderbit) |
|---|---|---|---|---|
| Сложность настройки | Средняя (API-приложение + pip install) | Нет (достаточно URL) | Средняя (pip + анализ DOM) | Очень низкая (расширение Chrome) |
| Нужен API-ключ? | Да | Нет | Нет | Нет |
| Скрапинг комментариев | Глубокий (вложенные деревья) | Ограниченный (верхний уровень) | Ручной парсинг | Структурирование AI |
| Пагинация | Встроенная | Ручная (параметр after) | Ручная | Автоматическая |
| Ограничения по частоте | 100 запросов/мин (управляется PRAW) | ~10 запросов/мин (без авторизации) | Риск блокировки IP | Обрабатывается инструментом |
| Лучше всего подходит для | Полноценные проекты, исследования | Быстрые одноразовые выгрузки | Обучения и кастомизации | Не-программисты, быстрый экспорт |
| Варианты экспорта | CSV, JSON (через код) | JSON (сырые данные) | Кастомный (через код) | Excel, Google Sheets, Airtable, Notion |
Если вам нужны полноценные Python-проекты с глубоким извлечением комментариев, начните со способа 1 (PRAW). Нужна быстрая выгрузка в ближайшие 10 минут без подготовки? Попробуйте способ 2 (трюк с .json). Хотите научиться HTML-скрапингу или нужны кастомные поля? Тогда способ 3 (BeautifulSoup). А если вы хотите вообще обойтись без Python и просто получить данные, переходите к способу 4 ().
Что изменилось: обновление цен Reddit API в 2023–2024 годах и что всё ещё доступно бесплатно
Почти ни один гайд по скрапингу не объясняет это — а между тем именно здесь кроется главный контекст для тех, кто сегодня собирает данные с Reddit.
В июне 2023 года Reddit впервые с 2008 года ввёл платные уровни доступа к API. Последствия были серьёзными:
- Pushshift перестал быть доступен для публичного использования. Reddit отозвал доступ Pushshift к API в мае 2023 года. Исследователи, которые на него опирались (Pushshift цитировался более чем в ), в одночасье потеряли основной источник данных. Преемник для исторических данных — , но публичной замены для live API нет.
- Сторонние приложения закрылись. Apollo, Reddit is Fun, Sync, BaconReader и другие прекратили работу к 30 июня 2023 года после того, как Reddit выставил разработчику Apollo цену за API.
- Более 8 500 сабреддитов ушли в офлайн в знак протеста, включая r/funny (40 млн подписчиков), r/gaming и r/science ().
Что всё ещё бесплатно в 2025 году:
по-прежнему доступен для некоммерческого, личного и академического использования — 100 запросов в минуту на один OAuth client ID. PRAW отлично работает в рамках этого тарифа для умеренного скрапинга. Неавторизованный доступ (включая .json endpoint) ограничен примерно 10 запросами в минуту.
Практический вывод: для небольших и средних задач бесплатного тарифа более чем достаточно. Для крупномасштабного или коммерческого использования вам придётся либо обратиться в Reddit за enterprise-доступом, либо использовать .json endpoint или BeautifulSoup (они не требуют API-ключей), либо взять инструмент вроде Thunderbit, который вообще не зависит от API Reddit.
Перед началом
- Сложность: от начального до среднего уровня — зависит от метода
- Время: около 15–30 минут для способов 1–3; около 5 минут для способа 4
- Что понадобится:
- Python 3.8+ (для способов 1–3)
- Аккаунт Reddit (для способа 1)
- Браузер Chrome (для способа 4)
- (для способа 4)
Способ 1: как скрапить Reddit с помощью Python и PRAW — пошагово
PRAW (Python Reddit API Wrapper) — самый популярный и лучше всего документированный способ скрапинга Reddit на Python. Он берёт на себя авторизацию, лимиты запросов и пагинацию, а также активно поддерживается: последняя стабильная версия — PRAW 7.8.1 (октябрь 2024), поддерживает Python 3.8–3.13.
Шаг 1. Создайте приложение Reddit и получите API-учётные данные
Перейдите на и прокрутите страницу вниз. Нажмите "are you a developer? create an app..."
Заполните форму:
- Name: любое понятное имя, например "my-reddit-scraper"
- App type: выберите script
- Redirect URI: укажите
http://localhost:8080(обязательно, но для script-приложений не используется) - Description: по желанию
Нажмите Create app. Вы увидите свои данные:
- client_id — 14-символьная строка прямо под названием приложения (подпись "personal use script")
- client_secret — поле, помеченное как "secret"
Перед завершением создания приложения вам также нужно принять и .
И ещё важный момент: с конца 2024 года новым разработчикам может понадобиться отправить запрос на доступ и дождаться одобрения. Это главный барьер для тех, кто впервые работает с PRAW, и обойти его нельзя.
Шаг 2. Установите PRAW и создайте объект Reddit
Откройте терминал и выполните:
1pip install praw pandas
Затем создайте объект Reddit в режиме только для чтения:
1import praw
2reddit = praw.Reddit(
3 client_id="YOUR_CLIENT_ID",
4 client_secret="YOUR_CLIENT_SECRET",
5 user_agent="python:reddit-scraper:v1.0 (by u/yourname)",
6)
7# reddit.read_only по умолчанию True для script-приложений без пароля
Формат user_agent действительно важен. Reddit активно ограничивает слишком общие строки вроде python-requests/2.x. Используйте рекомендованный формат: platform:app_id:version (by u/username).
Шаг 3. Соберите посты из сабреддита
Вот как получить топовые посты из r/python за последний месяц и сохранить их в pandas DataFrame:
1import pandas as pd
2subreddit = reddit.subreddit("python")
3rows = []
4for post in subreddit.top(time_filter="month", limit=500):
5 rows.append({
6 "id": post.id,
7 "title": post.title,
8 "selftext": post.selftext,
9 "score": post.score,
10 "upvote_ratio": post.upvote_ratio,
11 "num_comments": post.num_comments,
12 "author": str(post.author) if post.author else "[deleted]",
13 "created_utc": post.created_utc,
14 "url": post.url,
15 "permalink": f"https://reddit.com{post.permalink}",
16 })
17df = pd.DataFrame(rows)
18print(df.head())
Вы можете заменить .top() на .hot(), .new() или .controversial(), а time_filter принимает значения "all", "day", "hour", "month", "week" или "year".
Небольшое предупреждение: Reddit ограничивает любую ленту примерно 1000 элементами, независимо от того, насколько большое значение вы зададите в limit. Это ограничение на стороне Reddit, а не PRAW.
Шаг 4. Экспортируйте данные Reddit в CSV или Excel
1df.to_csv("reddit_python_top.csv", index=False)
2df.to_json("reddit_python_top.json", orient="records", lines=True)
PRAW автоматически обрабатывает лимиты: он читает заголовки X-Ratelimit-Remaining и X-Ratelimit-Reset в каждом ответе и при необходимости делает паузы между запросами. Для умеренного скрапинга ручные задержки обычно не нужны.
Как скрапить комментарии Reddit с помощью Python: глубокие вложенные ветки
Именно на комментариях многие и спотыкаются.
Reddit хранит комментарии в виде дерева: у каждого комментария могут быть дочерние ответы, а часть веток скрыта за ссылками "load more comments". В терминологии PRAW такие скрытые ветки представлены объектами MoreComments.
Мысленно это выглядит так:
1Submission (t3_abc123)
2├── Comment A (top-level)
3│ ├── Reply A1
4│ │ └── Reply A1a
5│ └── Reply A2
6├── Comment B (top-level)
7│ └── MoreComments (hidden — "load more comments")
8└── MoreComments (hidden — "continue this thread")
Используем replace_more(), чтобы получить все скрытые комментарии
Метод replace_more() проходит по дереву комментариев и заменяет каждый плейсхолдер MoreComments реальными комментариями, на которые он указывает:
1submission = reddit.submission(id="abcdef")
2submission.comments.replace_more(limit=10) # практический предел для больших веток
3all_comments = submission.comments.list() # плоский список в ширину
Если указать limit=None, метод заменит каждый узел MoreComments без исключения. Но в ветке с 5000+ комментариями это может занять несколько минут, потому что каждая замена — это отдельный API-запрос, возвращающий максимум около 100 комментариев. Для больших обсуждений я рекомендую начинать с limit=10 или limit=20 и увеличивать значение только если нужна полная выборка.
Преобразуем вложенные комментарии в таблицу
1rows = []
2for c in all_comments:
3 rows.append({
4 "comment_id": c.id,
5 "parent_id": c.parent_id, # t1_xxx = родительский комментарий, t3_xxx = submission
6 "depth": c.depth,
7 "author": str(c.author) if c.author else "[deleted]",
8 "body": c.body,
9 "score": c.score,
10 "created_utc": c.created_utc,
11 "is_submitter": c.is_submitter,
12 })
13comments_df = pd.DataFrame(rows)
У верхнеуровневых комментариев parent_id начинается с t3_ (fullname submission). Колонка depth показывает, насколько глубоко вложен комментарий — это удобно для фильтрации и визуализации. Есть один нюанс: len(all_comments) обычно не совпадает с submission.num_comments, потому что удалённые, скрытые и отфильтрованные как спам комментарии не попадают в дерево.
Способ 2: трюк с .json endpoint — скрапинг Reddit без API-ключа
Просто добавьте .json к любому URL Reddit. И всё. Вы получаете структурированный JSON — без авторизации, без регистрации приложения и без установки pip-пакетов.
Пример: https://www.reddit.com/r/python/hot.json
Пользователи форумов постоянно упоминают этот способ, но почти ни один туториал его не разбирает.
Рабочий пример кода на Python
1import requests
2headers = {"User-Agent": "python:reddit-scraper:v1.0 (by /u/yourname)"}
3r = requests.get(
4 "https://www.reddit.com/r/python/hot.json",
5 headers=headers,
6 params={"limit": 100},
7)
8data = r.json()
9for post in data["data"]["children"]:
10 p = post["data"]
11 print(p["title"], p["score"], p["num_comments"], p["author"])
Заголовок User-Agent критически важен. Reddit блокирует или ограничивает слишком общие user-agent’ы вроде python-requests/2.31.0 — как , «это ограничение скорости завязано на user-agent». Используйте такой же описательный формат, как в PRAW.
Как обойти пагинацию с помощью параметра after
По умолчанию .json endpoint возвращает около 25 результатов (максимум 100 за запрос). Чтобы получить больше, используйте курсор after из ответа:
1import requests, time
2headers = {"User-Agent": "python:reddit-scraper:v1.0 (by /u/yourname)"}
3after = None
4all_posts = []
5for _ in range(10): # до ~1000 постов
6 r = requests.get(
7 "https://www.reddit.com/r/python/hot.json",
8 headers=headers,
9 params={"limit": 100, "after": after},
10 )
11 data = r.json()
12 all_posts.extend(data["data"]["children"])
13 after = data["data"].get("after")
14 if not after:
15 break
16 time.sleep(6) # ~10 запросов в минуту = один запрос каждые 6 секунд
Значение after — это токен курсора (формат: t3_xxxxxx). Как и у PRAW, жёсткий предел — около 1000 элементов на все страницы вместе.
Ограничения метода .json
- Нет доступа к глубокому дереву комментариев — вы получите верхний уровень комментариев и один уровень заглушек
more, но не автоматическое раскрытие, как уreplace_more()в PRAW - Только чтение — нельзя голосовать, публиковать или модерировать
- Около 10 запросов в минуту для неавторизованного доступа — слишком активные циклы вызовут ошибки 429
- Тот же лимит в 1000 элементов, что и у авторизованного API
Этот способ лучше всего подходит для быстрых одноразовых выгрузок, прототипов или случаев, когда вы не хотите регистрировать API-приложение.
Способ 3: как скрапить Reddit с помощью BeautifulSoup (HTML-парсинг)
Если вы уже занимались веб-скрапингом, то, скорее всего, знаете BeautifulSoup. В случае Reddit есть важный приём: используйте old.reddit.com вместо нового React-интерфейса. Старая версия рендерится на сервере, она легче и гораздо проще для парсинга — подтверждают, что она всё ещё доступна и удобна для скрапинга.
Настройка requests и BeautifulSoup
1pip install requests beautifulsoup4
1import requests
2from bs4 import BeautifulSoup
3headers = {"User-Agent": "python:reddit-scraper:v1.0 (by /u/yourname)"}
4r = requests.get("https://old.reddit.com/r/python/", headers=headers)
5soup = BeautifulSoup(r.text, "html.parser")
Извлечение данных о постах из DOM
На old.reddit.com каждый пост находится внутри <div> с классом thing. Самые стабильные селекторы — это атрибуты data-*:
1for thing in soup.select("div#siteTable > div.thing"):
2 title_el = thing.select_one("a.title")
3 print({
4 "title": title_el.get_text(strip=True) if title_el else None,
5 "author": thing.get("data-author"),
6 "score": thing.get("data-score"),
7 "comments": thing.get("data-comments-count"),
8 "domain": thing.get("data-domain"),
9 "url": title_el.get("href") if title_el else None,
10 })
Лучше опираться на атрибуты data-*, а не на вложенные селекторы по классам — Reddit много раз менял названия классов, а data-атрибуты формируются шаблоном и меняются редко.
Пагинация на old.reddit.com
1import time
2url = "https://old.reddit.com/r/python/"
3all_rows = []
4while url:
5 r = requests.get(url, headers=headers)
6 soup = BeautifulSoup(r.text, "html.parser")
7 for thing in soup.select("div#siteTable > div.thing"):
8 title_el = thing.select_one("a.title")
9 all_rows.append({
10 "title": title_el.get_text(strip=True) if title_el else None,
11 "author": thing.get("data-author"),
12 "score": thing.get("data-score"),
13 "comments": thing.get("data-comments-count"),
14 "url": title_el.get("href") if title_el else None,
15 })
16 nxt = soup.select_one("span.next-button a")
17 url = nxt["href"] if nxt else None
18 time.sleep(2) # вежливая пауза
Когда использовать BeautifulSoup вместо PRAW
BeautifulSoup подходит, если вы хотите освоить DOM-скрапинг, не хотите регистрировать OAuth-приложение или вам нужны кастомные поля, которые PRAW не отдаёт. Но он более хрупкий: HTML-структура может измениться без предупреждения, блокировки IP в 2025 году стали жёстче, чем раньше, и всю логику пагинации и обработки ошибок придётся писать вручную. По надёжности и глубине PRAW выигрывает.
Способ 4: как скрапить Reddit без кода с помощью Thunderbit
Признание: многие, кто ищет «how to scrape Reddit with Python», на самом деле не хотят писать Python. Им нужны данные. Если это про вас, этот раздел — ваш запасной выход.
— это AI-расширение для Chrome, которое наша команда создала именно для таких задач: извлечение структурированных данных со страниц без написания кода.
Шаг 1. Установите Thunderbit и откройте страницу Reddit
Установите , затем откройте любой сабреддит или страницу поста Reddit, например reddit.com/r/python.
Ни API-ключа, ни Python-среды, ни команд в терминале.
Шаг 2. Нажмите "AI Suggest Fields" и дайте AI прочитать страницу
Нажмите на иконку Thunderbit в панели браузера, затем выберите "AI Suggest Fields." AI Thunderbit проанализирует страницу и автоматически предложит столбцы вроде Post Title, User Name, Upvotes, Comments Count, Date Posted, Post Description, Community Name и Post URL.
Вы можете добавлять, удалять и переименовывать поля по своему усмотрению. Например, если вам нужны только заголовки и рейтинг, просто удалите остальное.
Шаг 3. Нажмите "Scrape" и экспортируйте данные
Нажмите "Scrape", и Thunderbit соберёт данные, автоматически обработав пагинацию. После заполнения таблицы вы можете сразу экспортировать её в Excel, Google Sheets, Airtable или Notion — без кода для CSV.
Для более глубоких данных в Thunderbit есть скрапинг подстраниц: можно открыть отдельные ветки и автоматически обогатить таблицу данными из комментариев. По смыслу это похоже на replace_more() в PRAW, но без единой строки кода.
Бонус: расписание скрапинга для постоянного мониторинга Reddit
Если вам нужно ежедневно отслеживать сабреддит — например, мониторить упоминания бренда в r/SaaS или обсуждения конкурентов в нишевом сообществе — у Thunderbit есть планировщик повторных запусков. Вы описываете интервал обычным языком, например «каждый будний день в 9 утра», а инструмент делает всё остальное и доставляет свежие данные в подключённую таблицу или базу.
Подробнее о возможностях Thunderbit для скрапинга Reddit можно узнать на .
Советы и лучшие практики для скрапинга Reddit с помощью Python
Большую часть этих правил я усвоил на собственных ошибках — они актуальны независимо от выбранного способа.
Соблюдайте правила Reddit и лимиты запросов
В Reddit прямо запрещает коммерческий скрапинг без письменного согласия — и это относится ко всем способам доступа, не только к API. Для личного, академического и внутреннего исследовательского использования бесплатный OAuth-тариф и сценарии Thunderbit обычно укладываются в рамки разумного использования.
Шпаргалка по лимитам:
| Сценарий | Лимит | Что произойдёт |
|---|---|---|
| Авторизованный доступ (OAuth) | 60–100 запросов/мин | PRAW управляет этим автоматически |
| Неавторизованный доступ (.json, HTML) | ~10–30 запросов/мин | 429 Too Many Requests |
| Обычный User-Agent | Сильно ограничивается | 403 Forbidden или тихая блокировка |
Всегда задавайте описательную строку User-Agent. Это самая частая причина, по которой новички сталкиваются с ошибками 429 или 403.
Храните и структурируйте данные аккуратно
- Используйте DataFrame pandas с явным порядком столбцов для предсказуемого экспорта в CSV/Excel
- Преобразуйте
created_utcв читаемое время:pd.to_datetime(df["created_utc"], unit="s") - Удаляйте дубликаты по
id, если собираете данные из нескольких сортировок (hot,newиtopчасто пересекаются) - Обрабатывайте удалённых авторов:
str(post.author) if post.author else "[deleted]"
Корректно обрабатывайте типовые ошибки
| Ошибка | Причина | Решение |
|---|---|---|
| 429 Too Many Requests | Превышен лимит запросов (60–100 req/min для OAuth) | Используйте экспоненциальную задержку; проверьте заголовок X-Ratelimit-Reset |
| 403 Forbidden | Плохой User-Agent или заблокированный IP | Используйте уникальный, описательный UA; убедитесь, что OAuth-приложение активно |
None author | Удалённый или заблокированный аккаунт | Оборачивайте в if post.author else "[deleted]" |
prawcore.TooManyRequests | Сработал внутренний лимит PRAW | Увеличьте ratelimit_seconds или распределите запросы равномерно |
| 5xx или 413 на больших деревьях | Перегрузка backend Reddit на глубоких ветках | Оберните replace_more() в retry-логику; ограничьте глубину обхода |
Сценарии использования скрапинга Reddit: что можно делать с этими данными?
Скрапинг — это только первый шаг. Вот что действительно даёт результат:
- Отделы продаж: мониторинг r/SaaS, r/smallbusiness или r/Entrepreneur на посты вроде «ищу инструмент, который умеет X». Передавайте найденные совпадения в списки лидов или CRM-воркфлоу. Для ежедневного мониторинга используйте планировщик Thunderbit.
- Маркетинг и контент-команды: отслеживайте упоминания бренда, анализируйте тональность и извлекайте популярные вопросы для идей контента. Совмещайте выгрузки Reddit с Google Sheets для командной работы.
- Ecommerce и операционные команды: отслеживайте обсуждения продуктов конкурентов на предмет повторяющихся жалоб. Сабреддиты вроде r/BuyItForLife и нишевые сообщества — настоящая кладезь обратной связи о продукте.
- Исследователи и аналитики: собирайте NLP-датасеты — в академических статьях 2024 года использовались наборы данных от до для классификации тональности и эмоций. Корпус, собранный с помощью PRAW, можно использовать как источник, на который можно ссылаться в рецензировании.
Если хотите углубиться в тему или , мы подробно разбирали эти сценарии в блоге Thunderbit.
Итоги
Скрапинг Reddit в 2025 году совсем не такой, как два года назад. Изменения API в 2023 году убили Pushshift, закрыли любимые сторонние приложения и ввели платные уровни доступа.
Но бесплатный тариф по-прежнему жив и подходит для личного и академического использования, а способов получить данные стало даже больше.
Краткий итог по каждому методу:

Опытный Python-разработчик вы или человек, которому к обеду нужна таблица, — один из этих четырёх способов вам подойдёт. Если хотите вообще обойтись без кода, можете и посмотреть, как он справляется с Reddit за пару кликов. А если хотите дальше прокачивать навыки Python-скрапинга, сохраните этот материал в закладки — я буду обновлять его по мере изменений в экосистеме Reddit.
Заодно посмотрите наши материалы о , и .
FAQ
Законно ли скрапить Reddit с помощью Python?
В Reddit запрещает коммерческий скрапинг без письменного разрешения. Бесплатный OAuth-тариф доступен для личного, некоммерческого и академического использования. С юридической точки зрения это правило не зависит от канала доступа — оно действует, используете ли вы API, .json endpoint или HTML-скрапинг. Всегда проверяйте актуальные условия Reddit перед масштабным сбором данных.
Работает ли PRAW после изменений API Reddit в 2023 году?
Да. PRAW 7.8.1 (октябрь 2024) активно поддерживается и автоматически работает в рамках . Изменения ценовой политики 2023 года в основном затронули высоконагруженное и коммерческое использование API, а не типовые сценарии скрапинга через PRAW.
Можно ли скрапить Reddit без API-ключа?
Да — .json endpoint и HTML-парсинг через BeautifulSoup работают без API-ключей. тоже не требует API-ключа. Но все три метода для коммерческого использования всё равно подчиняются правилам Reddit.
Как собирать не только посты, но и комментарии Reddit?
С помощью PRAW используйте submission.comments.replace_more(limit=10), а затем submission.comments.list(), чтобы превратить вложенное дерево комментариев в список. В Thunderbit можно использовать скрапинг подстраниц, чтобы автоматически обогатить список постов данными из комментариев каждой ветки.
Какой способ самый быстрый для скрапинга Reddit без программирования?
позволяет собирать посты и комментарии Reddit буквально за два клика и сразу экспортировать данные в Excel, Google Sheets, Airtable или Notion — без Python, без API-ключа и без настройки.
Подробнее