Google platí za licenci na data z Redditu 60 milionů dolarů ročně. U OpenAI se údajně jedná o 70 milionů. Už to samo o sobě ukazuje, jakou hodnotu mají data schovaná v komentářových vláknech. Pokud jste se někdy snažili ručně sbírat diskuzní vlákna, komentáře nebo sentiment z Redditu, tu frustraci dobře znáte: nekonečné scrollování, kopírování a přepínání mezi záložkami.
Velkou část minulého čtvrtletí jsem strávil tím, že jsem v Thunderbit pomáhal týmu zkoumat, jak lidé v roce 2025 Reddit data doopravdy získávají. Situace se od cenové změny API Redditu v roce 2023 výrazně změnila a většina online návodů je buď zastaralá, nebo popisuje jen jeden jediný postup. Proto jsem dal dohromady vše, co dnes skutečně funguje — čtyři různé přístupy od plného Python skriptování až po úplně bezkódové získávání dat — abyste si mohli vybrat variantu podle své úrovně i konkrétního použití. Ať už budujete NLP dataset, hlídáte zmínky o značce v určitém subredditu, nebo prostě chcete tabulku trendujících příspěvků, tenhle průvodce vám pomůže.
Co je scraping Redditu a proč na něm záleží?
Scraping Redditu je proces programového získávání příspěvků, komentářů, uživatelských dat a metadat z webu nebo API Redditu. Místo ručního procházení vláken a kopírování textu použijete skript nebo nástroj, který vám strukturovaná data nasbírá ve velkém měřítku.
Proč se tím vůbec zabývat? Reddit hostí přes a podle odhadů vytváří . Lidé tu sdílí nezkreslené názory na produkty, služby, konkurenci i trendy — tedy autentický signál, který na uhlazených recenzních webech nebo firemních blozích skoro nenajdete. Google platí zhruba za licenci na obsah Redditu a dohoda OpenAI má podle zpráv hodnotu . Pokud za ta data platí největší AI firmy na světě devítimístné částky, stojí za to naučit se, jak se k nim dostat i sami.
Proč scrapovat Reddit v Pythonu v roce 2025?
Python je pro scraping Redditu standardní volba — PRAW, requests, BeautifulSoup a pandas pokryjí celý proces od volání API až po export dat. Ale důvod, proč po Pythonu sáhnout, nespočívá jen v nástrojích.
Tady jsou nejčastější scénáře použití, které vídám u obchodních a výzkumných týmů:
| Případ použití | Kdo z něj těží | Příklad |
|---|---|---|
| Průzkum trhu a validace | Produktoví manažeři, zakladatelé | Hledání opakujících se bolestivých míst na r/SaaS nebo r/Entrepreneur |
| Analýza sentimentu | Marketing, brand týmy | Sledování toho, jak lidé mluví o vašem produktu oproti konkurenci |
| Generování leadů | Obchodní týmy | Vyhledávání příspěvků typu „hledám nástroj, který umí X“ v úzce zaměřených subredditech |
| Náměty na obsah | Content marketéři | Odhalování trendujících dotazů a témat na r/marketing nebo r/SEO |
| Akademický / NLP výzkum | Výzkumníci, datoví vědci | Tvorba označených datasetů z komentářových vláken pro klasifikaci emocí |
| Konkurenční inteligence | Strategie, operations | Sledování subredditů konkurence kvůli opakovaným stížnostem |
Uživatelská základna Redditu v roce 2025 dosáhla odhadovaných a — meziročně o 24 % více. A po hlavní srpnové aktualizaci algoritmu Google 2024 se obsah z Redditu stal v organickém vyhledávání zhruba .
Jinými slovy: data, která scrapujete z Redditu, jsou čím dál víc zároveň data, která Google ukazuje lidem ve vyhledávání.
Kterou metodu zvolit pro scraping Redditu? (Rychlé porovnání)
Nejčastější otázka ve fórech o scrapování Redditu zní doslova: „Kterou metodu mám použít?“ Proto jsem sestavil tuhle tabulku. Vyberte si řádek a pokračujte.
| Kritérium | PRAW | .json endpoint | BeautifulSoup (HTML) | Bez kódu (Thunderbit) |
|---|---|---|---|---|
| Složitost nastavení | Střední (API aplikace + instalace přes pip) | Žádné (stačí URL) | Střední (pip + kontrola DOM) | Velmi nízká (rozšíření do Chrome) |
| Je potřeba API klíč? | Ano | Ne | Ne | Ne |
| Scraping komentářů | Hluboký (vnořené stromy) | Omezený (nejvyšší úroveň) | Ruční parsování | AI strukturované |
| Stránkování | Vestavěné | Ruční (parametr after) | Ruční | Automatické |
| Rate limiting | 100 požadavků/min (spravuje PRAW) | ~10 požadavků/min (bez autentizace) | Riziko blokace IP | Vyřešeno nástrojem |
| Nejvhodnější pro | Komplexní projekty, výzkum | Rychlé jednorázové stažení | Učení / vlastní úpravy | Nekódující, rychlý export |
| Možnosti exportu | CSV, JSON (ručně v kódu) | JSON (surový) | Vlastní (ručně v kódu) | Excel, Google Sheets, Airtable, Notion |
Pokud chcete plnohodnotné Python projekty s hlubokým získáváním komentářů, začněte metodou 1 (PRAW). Potřebujete během 10 minut rychle stáhnout data a nechcete nic nastavovat? Zkuste metodu 2 (.json trik). Chcete se naučit HTML scraping nebo potřebujete vlastní pole? Jděte do metody 3 (BeautifulSoup). A pokud se chcete Pythonu úplně vyhnout a prostě jen získat data, přeskočte na metodu 4 ().
Co se změnilo: cenová aktualizace API Redditu v letech 2023–2024 (a co je dál zdarma)
Téměř žádný návod na scraping tohle nezmiňuje — a přitom jde o nejdůležitější kontext pro každého, kdo dnes Reddit scrapuje.
V červnu 2023 zavedl Reddit poprvé od roku 2008 placené úrovně přístupu k API. Dopady byly obrovské:
- Pushshift pro veřejnost skončil. Reddit v květnu 2023 odebral Pushshiftu přístup k API. Výzkumníci, kteří na něm stavěli (Pushshift bylo citováno ve více než ), přišli přes noc o svůj hlavní zdroj dat. Nástupcem pro historická data je , ale veřejná živá náhrada API neexistuje.
- Aplikace třetích stran skončily. Apollo, Reddit is Fun, Sync, BaconReader a další uzavřely provoz do 30. června 2023 poté, co Reddit vývojáři Apolla vyčíslil na API poplatcích.
- Více než 8 500 subredditů zčernalo na protest, včetně r/funny (40 milionů odběratelů), r/gaming a r/science ().
Co je v roce 2025 stále zdarma:
zůstává dostupná pro nekomerční, osobní a akademické použití — 100 dotazů za minutu na jedno OAuth client ID. PRAW v této úrovni pro běžné scrapování funguje bez problémů. Neautentizovaný přístup (včetně .json endpointu) je omezen přibližně na 10 požadavků za minutu.
Praktický závěr: Pro malé a střední scrapingové úlohy bohatě stačí bezplatná úroveň. Pro rozsáhlé nebo komerční využití budete muset buď kontaktovat Reddit kvůli enterprise přístupu, použít .json endpoint nebo BeautifulSoup (které nevyžadují API klíče), nebo sáhnout po nástroji jako Thunderbit, který na API Redditu vůbec nezávisí.
Než začnete
- Obtížnost: Začátečník až mírně pokročilý (liší se podle metody)
- Časová náročnost: ~15–30 minut pro metody 1–3; ~5 minut pro metodu 4
- Co budete potřebovat:
- Nainstalovaný Python 3.8+ (pro metody 1–3)
- Účet na Redditu (pro metodu 1)
- Prohlížeč Chrome (pro metodu 4)
- (pro metodu 4)
Metoda 1: Jak scrapovat Reddit v Pythonu pomocí PRAW (krok za krokem)
PRAW (Python Reddit API Wrapper) je nejpopulárnější a nejlépe zdokumentovaný způsob, jak v Pythonu scrapovat Reddit. Postará se za vás o autentizaci, rate limiting i stránkování a je aktivně udržovaný — nejnovější stabilní verze je PRAW 7.8.1 (říjen 2024) a podporuje Python 3.8 až 3.13.
Krok 1: Vytvořte Reddit aplikaci a získejte API údaje
Přejděte na a sjeďte dolů. Klikněte na „are you a developer? create an app...“
Vyplňte formulář:
- Name: libovolný popisný název (např. „my-reddit-scraper“)
- App type: vyberte script
- Redirect URI: zadejte
http://localhost:8080(je povinná, ale u script aplikací se nepoužívá) - Description: volitelné
Klikněte na Create app. Uvidíte své přihlašovací údaje:
- client_id — 14znakový řetězec přímo pod názvem aplikace (označený jako „personal use script“)
- client_secret — pole označené jako „secret“
Než bude vytvoření aplikace dokončeno, budete také muset přijmout Reddit a .
Ještě upozornění: od konce roku 2024 může po nových vývojářích být vyžadováno podání žádosti o přístup a čekání na schválení. To je největší překážka pro nové uživatele PRAW a obejít se to nedá.
Krok 2: Nainstalujte PRAW a vytvořte instanci Redditu
Otevřete terminál a spusťte:
1pip install praw pandas
Poté vytvořte pouze pro čtení instanci Redditu:
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 je pro script aplikace bez hesla ve výchozím nastavení True
Na formátu user_agent záleží. Reddit aktivně omezuje obecné řetězce jako python-requests/2.x. Použijte doporučený formát: platforma:id_aplikace:verze (by u/uživatel).
Krok 3: Scrape příspěvků ze subredditu
Takhle získáte top příspěvky z r/python za poslední měsíc a uložíte je do 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())
Můžete nahradit .top() za .hot(), .new() nebo .controversial() a time_filter přijímá hodnoty "all", "day", "hour", "month", "week" nebo "year".
Pozor: Reddit omezuje jakýkoli výpis přibližně na 1 000 položek, bez ohledu na to, jak vysokou hodnotu nastavíte pro limit. To je limit na straně Redditu, nikoli omezení PRAW.
Krok 4: Export dat z Redditu do CSV nebo Excelu
1df.to_csv("reddit_python_top.csv", index=False)
2df.to_json("reddit_python_top.json", orient="records", lines=True)
PRAW zvládá rate limiting automaticky — u každé odpovědi čte hlavičky X-Ratelimit-Remaining a X-Ratelimit-Reset a podle potřeby mezi požadavky usíná. Při běžném scrapování obvykle není nutné přidávat ruční prodlevy.
Jak scrapovat komentáře z Redditu v Pythonu (hluboká vnořená vlákna)
Scraping komentářů je místo, kde většina lidí narazí na limit.
Reddit ukládá komentáře jako strom: každý komentář může mít potomky a některé větve jsou sbalené za odkazy typu „load more comments“. V prostředí PRAW jsou tyto skryté větve reprezentovány objekty MoreComments.
Mentální model vypadá takto:
1Submission (t3_abc123)
2├── Comment A (top-level)
3│ ├── Reply A1
4│ │ └── Reply A1a
5│ └── Reply A2
6├── Comment B (top-level)
7│ └── MoreComments (skryté — „načíst další komentáře“)
8└── MoreComments (skryté — „pokračovat v tomto vlákně“)
Použití replace_more() pro načtení všech skrytých komentářů
Metoda replace_more() projde strom komentářů a každý zástupný prvek MoreComments nahradí skutečnými komentáři, na které odkazuje:
1submission = reddit.submission(id="abcdef")
2submission.comments.replace_more(limit=10) # praktický strop pro velká vlákna
3all_comments = submission.comments.list() # zploštěné do breadth-first pořadí
Nastavení limit=None nahradí každý jediný uzel MoreComments — ale u vlákna s více než 5 000 komentáři to může trvat několik minut, protože každá náhrada je jeden API požadavek, který vrátí maximálně zhruba 100 komentářů. U velkých vláken doporučuji začít s limit=10 nebo limit=20 a zvyšovat ho jen tehdy, když opravdu potřebujete úplnost.
Zploštění vnořených komentářů do tabulky
1rows = []
2for c in all_comments:
3 rows.append({
4 "comment_id": c.id,
5 "parent_id": c.parent_id, # t1_xxx = rodičovský komentář, 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)
Komentáře na nejvyšší úrovni mají parent_id začínající na t3_ (tedy fullname příspěvku). Sloupec depth ukazuje, jak hluboko je daný komentář zanořený — to se hodí pro filtrování nebo vizualizaci. Jedna záludnost: len(all_comments) se obvykle nerovná submission.num_comments, protože smazané, odstraněné a spamem odfiltrované komentáře ve stromu nejsou zahrnuty.
Metoda 2: Trik s .json endpointem — scrapujte Reddit bez API klíče
Stačí přidat .json na konec jakékoli Reddit URL. To je vše. Získáte strukturovaný JSON — bez autentizace, bez registrace aplikace, bez instalace přes pip.
Příklad: https://www.reddit.com/r/python/hot.json
Uživatelé fór o tomhle triku mluví neustále, ale téměř žádný návod ho pořádně nepokrývá.
Funkční ukázka v Pythonu
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"])
Hlavička User-Agent je zásadní. Reddit blokuje nebo omezuje obecné user agent řetězce jako python-requests/2.31.0 — jak , „toto rate limiting je založeno na user-agentu“. Použijte stejný popisný formát jako u PRAW.
Jak řešit stránkování pomocí parametru after
.json endpoint vrací ve výchozím nastavení asi 25 výsledků (maximum je 100 na jeden požadavek). Pro získání více dat použijte cursor after z odpovědi:
1import requests, time
2headers = {"User-Agent": "python:reddit-scraper:v1.0 (by /u/yourname)"}
3after = None
4all_posts = []
5for _ in range(10): # až ~1000 příspěvků
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 dotazů za minutu = jeden požadavek každých 6 sekund
Hodnota after je cursor token (ve formátu t3_xxxxxx). Stejně jako u PRAW je tvrdý strop zhruba 1 000 položek celkem přes stránkované požadavky.
Omezení metody .json
- Žádný přístup k hlubokému stromu komentářů — získáte komentáře nejvyšší úrovně a jednu vrstvu „more“ zástupných záznamů, ale žádné automatické rozbalení jako u PRAW
replace_more() - Jen pro čtení — žádné hlasování, publikování ani moderace
- ~10 požadavků za minutu pro neautentizovaný provoz — agresivní smyčky vyvolají chyby 429
- Stejný limit 1 000 položek jako u autentizovaného API
Tahle metoda je nejlepší pro rychlé jednorázové získání dat, prototypování nebo situace, kdy nechcete registrovat API aplikaci.
Metoda 3: Jak scrapovat Reddit pomocí BeautifulSoup (parsování HTML)
Pokud jste už někdy dělali web scraping, BeautifulSoup nejspíš znáte. U Redditu je klíčové použít old.reddit.com místo nové React frontend verze. Staré rozhraní je server-renderované, lehčí a výrazně snadněji se parsuje — potvrzuje, že je stále online a pro scrapování vhodné.
Nastavení requests a 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")
Extrakce dat o příspěvcích z DOM
Na old.reddit.com je každý příspěvek uložen uvnitř <div> s třídou thing. Nejspolehlivější selektory jsou atributy 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 })
Dávejte přednost atributům data-* před vnořenými selektory tříd — Reddit v průběhu let názvy tříd měnil, ale datové atributy jsou řízené šablonou a mění se zřídka.
Stránkování na 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) # zdvořilostní prodleva
Kdy použít BeautifulSoup a kdy PRAW
BeautifulSoup se hodí, když se chcete naučit scraping DOM, nechcete registrovat OAuth aplikaci nebo potřebujete vlastní pole, která PRAW neodhaluje. Je ale křehčí — struktura HTML se může změnit bez varování, blokování IP je v roce 2025 agresivnější než dřív a veškeré stránkování i chybové stavy si musíte napsat sami. Z hlediska spolehlivosti a hloubky vede PRAW.
Metoda 4: Jak scrapovat Reddit bez kódu pomocí Thunderbit
Upřímně: hodně lidí, kteří hledají „jak scrapovat Reddit v Pythonu“, ve skutečnosti Python psát nechtějí. Chtějí jen data. Pokud jste to vy, tahle část je vaše zkratka.
je AI-powered rozšíření pro Chrome, které náš tým vytvořil přesně pro tenhle typ použití — tedy pro získávání strukturovaných dat z webových stránek bez psaní kódu.
Krok 1: Nainstalujte Thunderbit a otevřete stránku Redditu
Nainstalujte a potom přejděte na libovolný subreddit nebo stránku příspěvku na Redditu (např. reddit.com/r/python).
Žádný API klíč, žádné Python prostředí, žádné příkazy v terminálu.
Krok 2: Klikněte na „AI Suggest Fields“ a nechte AI přečíst stránku
Klikněte na ikonu Thunderbit v liště prohlížeče a potom na „AI Suggest Fields.“ AI v Thunderbit projde stránku a automaticky navrhne sloupce jako Název příspěvku, Uživatelské jméno, Počet upvotes, Počet komentářů, Datum zveřejnění, Popis příspěvku, Název komunity a URL příspěvku.
Sloupce můžete podle potřeby přidat, odstranit nebo přejmenovat. Pokud vás například zajímají jen názvy příspěvků a skóre, ostatní pole prostě smažte.
Krok 3: Klikněte na „Scrape“ a exportujte data
Stiskněte „Scrape“ a Thunderbit data získá i se stránkováním, které zvládne automaticky. Jakmile je tabulka naplněná, exportujte ji přímo do Excelu, Google Sheets, Airtable nebo Notion — bez psaní CSV kódu.
Pro hlubší data nabízí Thunderbit scraping podstránek, díky kterému můžete vstoupit do jednotlivých vláken a automaticky obohatit tabulku o data komentářů. Koncepčně je to podobné PRAW replace_more() — ale bez napsání jediného řádku kódu.
Bonus: Plánované scrapování pro průběžné sledování Redditu
Pokud potřebujete denně sledovat subreddit — například brand mentions na r/SaaS nebo diskuze o konkurenci v úzce zaměřené komunitě — plánovaný scraper v Thunderbit zvládne opakované běhy. Interval popíšete obyčejnou angličtinou (např. „každý všední den v 9:00“) a nástroj udělá zbytek, přičemž čerstvá data doručí do propojené tabulky nebo databáze.
Více o možnostech scrapování Redditu v Thunderbit najdete na .
Tipy a osvědčené postupy pro scraping Redditu v Pythonu
Většinu z nich jsem se naučil tvrdou cestou — platí bez ohledu na to, kterou z výše uvedených metod zvolíte.
Respektujte podmínky Redditu a rate limity
výslovně zakazují komerční scraping bez písemného schválení — a to platí pro všechny způsoby přístupu, nejen pro API. Pro osobní, akademické a interní výzkumné použití jsou bezplatná úroveň OAuth i workflow v Thunderbit v rámci rozumného použití.
Rychlý přehled limitů:
| Scénář | Limit | Co se stane |
|---|---|---|
| Autentizovaný (OAuth) | 60–100 požadavků/min | PRAW to spravuje automaticky |
| Neautentizovaný (.json, HTML) | ~10–30 požadavků/min | 429 Too Many Requests |
| Obecný User-Agent | Silně omezeno | 403 Forbidden nebo tiché blokace |
Vždy nastavte popisný řetězec User-Agent. To je nejčastější důvod, proč nováčci dostávají chyby 429 nebo 403.
Data ukládejte a strukturovejte čistě
- Používejte pandas DataFrame s explicitním pořadím sloupců, aby export do CSV/Excelu byl předvídatelný
- Převádějte
created_utcna čitelný čas:pd.to_datetime(df["created_utc"], unit="s") - Při scrapování přes více řazení deduplikujte podle
id(hot, new a top se často překrývají) - Ošetřete smazané autory:
str(post.author) if post.author else "[deleted]"
Běžné chyby řešte elegantně
| Chyba | Příčina | Řešení |
|---|---|---|
| 429 Too Many Requests | Překročení limitu (60–100 požadavků/min pro OAuth) | Použijte exponenciální backoff; zkontrolujte hlavičku X-Ratelimit-Reset |
| 403 Forbidden | Špatný User-Agent nebo blokovaná IP | Použijte unikátní, popisný řetězec UA; ověřte, že OAuth aplikace je aktivní |
None author | Smazaný nebo suspendovaný účet | Ošetřete podmínkou if post.author else "[deleted]" |
prawcore.TooManyRequests | Spustil se rate limit buffer na úrovni PRAW | Zvyšte ratelimit_seconds nebo rozložte požadavky rovnoměrně |
| 5xx nebo 413 u velkých stromů | Přetížení backendu Redditu u hlubokých vláken | Zabalte replace_more() do retry logiky; omezte hloubku rekurze |
Příklady využití scrapovaného Redditu: co s těmi daty můžete dělat?
Scraping je jen první krok. Tohle je to, co skutečně přináší výsledky:
- Obchodní týmy: Sledujte subreddity jako r/SaaS, r/smallbusiness nebo r/Entrepreneur a hledejte příspěvky typu „hledám nástroj, který umí X“. Shody posílejte do lead listů nebo CRM workflow. Pro denní monitoring použijte plánovaný scraper v Thunderbit.
- Marketing a content týmy: Sledujte zmínky o značce, analyzujte trendy sentimentu a sbírejte trendující dotazy pro nápady na obsah. Exporty z Redditu kombinujte s Google Sheets pro týmovou spolupráci.
- Ecommerce a operations: Sledujte diskuze o produktech konkurence kvůli opakujícím se stížnostem. Subreddity jako r/BuyItForLife a komunitní fóra zaměřená na konkrétní obory jsou zlatý důl zpětné vazby k produktu.
- Výzkumníci a analytici: Vytvářejte NLP datasety — akademické práce v roce 2024 používaly datasety od až po pro analýzu sentimentu a emocí. Sběr korpusu pomocí PRAW je navíc citovatelný v peer review.
Pokud chcete jít hlouběji do toho, jak nebo , podrobně jsme tyto workflow popsali na blogu Thunderbit.
Závěr
Scraping Redditu v roce 2025 vypadá úplně jinak než před dvěma lety. Změny API v roce 2023 zlikvidovaly Pushshift, ukončily provoz oblíbených aplikací třetích stran a zavedly placené úrovně.
Bezplatná úroveň ale pro osobní a akademické použití pořád existuje a možností, jak data získat, je víc než dřív.
Tady je jednověté shrnutí každé metody:

Ať už jsi Python veterán, nebo spíš člověk, který chce mít data do oběda v tabulce, jedna z těchto čtyř metod tě tam dostane. Pokud se chceš kódu úplně vyhnout, můžeš si a během pár kliknutí zjistit, jak si poradí s Redditem. A pokud chceš dál zlepšovat své Python scraping dovednosti, ulož si tenhle návod — budu ho průběžně aktualizovat podle toho, jak se bude svět Redditu dál vyvíjet.
Více o přístupech k web scrapingu najdeš v našich průvodcích , a .
Často kladené otázky
Je legální scrapovat Reddit v Pythonu?
zakazují komerční scraping bez písemného schválení. Bezplatná úroveň OAuth je k dispozici pro osobní, nekomerční a akademické použití. Právní rámec je nezávislý na použitém kanálu — platí, ať použiješ API, .json endpoint nebo HTML scraping. Před rozsáhlejším scrapováním si vždy ověř aktuální podmínky Redditu.
Funguje PRAW i po změnách API Redditu v roce 2023?
Ano. PRAW 7.8.1 (říjen 2024) je aktivně udržovaný a automaticky funguje v rámci . Cenové změny z roku 2023 se dotkly hlavně vysokých objemů a komerčního použití API, ne běžných postupů scrapování přes PRAW.
Dá se Reddit scrapovat bez API klíče?
Ano — .json endpoint i parsování HTML přes BeautifulSoup fungují bez API klíče. také API klíč nevyžaduje. Všechny tři metody jsou ale pro komerční použití stále vázány podmínkami Redditu.
Jak scrapovat komentáře z Redditu, ne jen příspěvky?
V PRAW použij submission.comments.replace_more(limit=10) a poté submission.comments.list(), čímž zploštíš vnořený strom komentářů do seznamu. V Thunderbit použij scraping podstránek, který automaticky obohatí scraping seznamu příspěvků o data komentářů z každého vlákna.
Jaký je nejrychlejší způsob scrapování Redditu bez programování?
ti umožní scrapovat příspěvky a komentáře z Redditu během dvou kliknutí a exportovat je přímo do Excelu, Google Sheets, Airtable nebo Notion — bez Pythonu, bez API klíče, bez nastavování.
Další informace