Google płaci 60 milionów dolarów rocznie za licencję na dane z Reddita. Według doniesień OpenAI ma umowę wartą 70 milionów dolarów. To naprawdę pokazuje, ile wartości siedzi w tych wątkach komentarzy. Jeśli kiedykolwiek próbowałeś ręcznie zbierać wątki dyskusji, komentarze albo dane o nastrojach z Reddita, pewnie znasz tę frustrację: bez końca przewijanie, kopiuj-wklej i chaos z otwartymi kartami.
W ubiegłym kwartale spędziłem sporo czasu, pomagając zespołowi Thunderbit sprawdzić, jak ludzie faktycznie pozyskują dane z Reddita w 2025 roku. Sytuacja zmieniła się mocno od czasu podniesienia cen API przez Reddit w 2023 roku, a większość poradników w sieci jest już nieaktualna albo opisuje tylko jedną metodę. Dlatego zebrałem wszystko, co naprawdę działa dziś — cztery różne podejścia, od pełnego skryptu w Pythonie po ekstrakcję bez kodu — żebyś mógł wybrać to, co pasuje do Twojego poziomu i celu. Niezależnie od tego, czy budujesz zbiór danych do NLP, monitorujesz subreddita pod kątem wzmianek o marce, czy po prostu chcesz mieć arkusz z trendującymi postami, ten przewodnik Ci pomoże.
Czym jest scrapowanie Reddita i dlaczego ma znaczenie?
Scrapowanie Reddita polega na programowym pobieraniu postów, komentarzy, danych użytkowników i metadanych ze stron Reddita lub z API. Zamiast ręcznie przeglądać wątki i kopiować tekst, używasz skryptu albo narzędzia, by zbierać ustrukturyzowane dane na dużą skalę.
Po co w ogóle się tym zajmować? Reddit ma ponad i generuje szacunkowo . To miejsce, w którym ludzie dzielą się niewygładzonymi opiniami o produktach, usługach, konkurencji i trendach — czyli dokładnie takim autentycznym sygnałem, którego prawie nie znajdziesz na wypolerowanych portalach z recenzjami czy firmowych blogach. Google płaci około za licencję na treści z Reddita, a według doniesień umowa OpenAI to . Skoro największe firmy AI na świecie płacą za te dane ogromne pieniądze, warto nauczyć się, jak samemu do nich dotrzeć.
Dlaczego scrapować Reddit w Pythonie w 2025 roku?
Python to domyślny język do scrapowania Reddita — PRAW, requests, BeautifulSoup i pandas obsługują każdy etap, od wywołania API po eksport danych. Ale „dlaczego” wykracza poza same narzędzia.
Oto najczęstsze zastosowania, które widzę w zespołach biznesowych i badawczych:
| Przypadek użycia | Kto zyskuje | Przykład |
|---|---|---|
| Badania rynku i walidacja | Product managerowie, founderzy | Analiza r/SaaS lub r/Entrepreneur pod kątem powtarzających się problemów |
| Analiza sentymentu | Marketing, zespoły brandowe | Śledzenie, jak ludzie mówią o Twoim produkcie vs. konkurencji |
| Generowanie leadów | Zespoły sprzedaży | Wyszukiwanie postów typu „szukam narzędzia, które robi X” w niszowych subredditach |
| Pomysły na treści | Content marketerzy | Wykrywanie trendujących pytań i tematów w r/marketing lub r/SEO |
| Badania akademickie / NLP | Badacze, data scientists | Tworzenie oznaczonych zbiorów danych z wątków komentarzy do klasyfikacji emocji |
| Analiza konkurencji | Strategia, operacje | Monitorowanie subredditów konkurencji pod kątem powtarzających się skarg |
Szacuje się, że liczba użytkowników Reddita osiągnęła , a oznacza wzrost o 24% rok do roku. Po sierpniowej aktualizacji core Google z 2024 roku treści z Reddita stały się też mniej więcej w organicznych wynikach wyszukiwania.
Innymi słowy: dane, które scrapujesz z Reddita, to coraz częściej dokładnie te same dane, które Google pokazuje użytkownikom.
Którą metodę wybrać do scrapowania Reddita? (Szybkie porównanie)
Najczęstsze pytanie na forach o scrapowaniu Reddita brzmi dosłownie: „Którą metodę powinienem wybrać?”. Więc przygotowałem tę tabelę. Wybierz swój wiersz i działaj.
This paragraph contains content that cannot be parsed and has been skipped.
Jeśli chcesz pełnoprawny projekt w Pythonie z głębokim pobieraniem komentarzy, zacznij od metody 1 (PRAW). Potrzebujesz szybko ściągnąć dane w ciągu 10 minut, bez konfiguracji? Wypróbuj metodę 2 (sztuczka z .json). Chcesz nauczyć się scrapowania HTML albo potrzebujesz własnych pól? Wybierz metodę 3 (BeautifulSoup). A jeśli wolisz pominąć Pythona i po prostu dostać dane, przejdź do metody 4 ().
Co się zmieniło: aktualizacja cen API Reddita z lat 2023–2024 i co nadal działa za darmo
Prawie żaden poradnik o scrapowaniu nie wspomina o tym — a to najważniejszy kontekst dla każdego, kto dziś scrapuje Reddita.
W czerwcu 2023 roku Reddit po raz pierwszy od 2008 roku wprowadził płatne poziomy dostępu do API. Skutki były ogromne:
- Pushshift przestał działać publicznie. Reddit odebrał Pushshift dostęp do API w maju 2023 roku. Badacze, którzy na nim polegali (ponad cytowało Pushshift), stracili z dnia na dzień swoje główne źródło danych. Następcą do danych historycznych jest , ale nie ma publicznego zamiennika do bieżącego API.
- Aplikacje firm trzecich zostały wyłączone. Apollo, Reddit is Fun, Sync, BaconReader i inne aplikacje zakończyły działanie do 30 czerwca 2023 roku po tym, jak Reddit podał twórcy Apollo koszt za API.
- Ponad 8 500 subredditów zniknęło z sieci w proteście, w tym r/funny (40 mln subskrybentów), r/gaming i r/science ().
Co nadal jest darmowe w 2025 roku:
nadal jest dostępny do użytku niekomercyjnego, osobistego i akademickiego — 100 zapytań na minutę na jeden identyfikator klienta OAuth. PRAW działa na tym poziomie bez problemu przy umiarkowanym scrapowaniu. Dostęp bez autoryzacji (w tym endpoint .json) jest ograniczony do około 10 żądań na minutę.
Praktyczny wniosek: Do małych i średnich zadań darmowy poziom w zupełności wystarczy. Przy dużej skali albo zastosowaniach komercyjnych trzeba będzie albo skontaktować się z Redditem po dostęp enterprise, albo użyć endpointu .json lub BeautifulSoup (bez kluczy API), albo skorzystać z narzędzia takiego jak Thunderbit, które w ogóle nie zależy od API Reddita.
Zanim zaczniesz
- Poziom trudności: od początkującego do średnio zaawansowanego (zależnie od metody)
- Czas potrzebny: ok. 15–30 minut dla metod 1–3; ok. 5 minut dla metody 4
- Czego potrzebujesz:
- Zainstalowanego Python 3.8+ (dla metod 1–3)
- Konta Reddit (dla metody 1)
- Przeglądarki Chrome (dla metody 4)
- (dla metody 4)
Metoda 1: Jak scrapować Reddit w Pythonie używając PRAW (krok po kroku)
PRAW (Python Reddit API Wrapper) to najpopularniejszy i najlepiej udokumentowany sposób scrapowania Reddita w Pythonie. Obsługuje za Ciebie uwierzytelnianie, limity żądań i paginację, a do tego jest aktywnie rozwijany — najnowsza stabilna wersja to PRAW 7.8.1 (październik 2024), wspierająca Python 3.8–3.13.
Krok 1: Utwórz aplikację Reddit i pobierz dane API
Wejdź na i przewiń na dół. Kliknij "are you a developer? create an app..."
Wypełnij formularz:
- Nazwa: dowolna opisowa nazwa (np. „my-reddit-scraper”)
- Typ aplikacji: wybierz script
- Redirect URI: wpisz
http://localhost:8080(wymagane, ale niewykorzystywane dla aplikacji script) - Opis: opcjonalnie
Kliknij Create app. Zobaczysz swoje dane uwierzytelniające:
- client_id — 14-znakowy ciąg bezpośrednio pod nazwą aplikacji (oznaczony jako „personal use script”)
- client_secret — pole oznaczone jako „secret”
Musisz też zaakceptować Reddita oraz , zanim proces tworzenia aplikacji zostanie zakończony.
Jedna ważna uwaga: od końca 2024 roku nowi developerzy mogą musieć złożyć wniosek o dostęp i czekać na jego zatwierdzenie. To największa przeszkoda dla osób, które pierwszy raz korzystają z PRAW, i nie ma na to obejścia.
Krok 2: Zainstaluj PRAW i utwórz instancję Reddita
Otwórz terminal i uruchom:
1pip install praw pandas
Następnie utwórz instancję Reddit tylko do odczytu:
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 jest domyślnie True dla aplikacji script bez hasła
Format user_agent ma znaczenie. Reddit aktywnie ogranicza ogólne ciągi, takie jak python-requests/2.x. Używaj zalecanego formatu: platforma:id_aplikacji:wersja (by u/nazwa_użytkownika).
Krok 3: Scrape'uj posty z subreddita
Oto jak pobrać najpopularniejsze posty z r/python z ostatniego miesiąca i zapisać je w DataFrame pandas:
1import pandas as pd
2subreddit = reddit.subreddit("python")
3rows = []
4> This paragraph contains content that cannot be parsed and has been skipped.
5df = pd.DataFrame(rows)
6print(df.head())
Możesz zamienić .top() na .hot(), .new() albo .controversial(), a time_filter akceptuje "all", "day", "hour", "month", "week" lub "year".
Mała uwaga: Reddit ogranicza każde zestawienie do około 1 000 elementów, niezależnie od tego, jak wysoki ustawisz limit. To ograniczenie po stronie Reddita, nie PRAW.
Krok 4: Wyeksportuj dane z Reddita do CSV lub Excela
1df.to_csv("reddit_python_top.csv", index=False)
2df.to_json("reddit_python_top.json", orient="records", lines=True)
PRAW automatycznie obsługuje limity żądań — odczytuje nagłówki X-Ratelimit-Remaining i X-Ratelimit-Reset z każdej odpowiedzi i w razie potrzeby robi przerwy między wywołaniami. Przy umiarkowanym scrapowaniu zwykle nie trzeba dodawać ręcznych opóźnień.
Jak scrapować komentarze z Reddita w Pythonie (głębokie, zagnieżdżone wątki)
Scrapowanie komentarzy to miejsce, w którym większość osób napotyka barierę.
Reddit przechowuje komentarze jako drzewo: każdy komentarz może mieć komentarze podrzędne, a niektóre gałęzie są zwinięte za linkami „load more comments”. W świecie PRAW takie ukryte gałęzie są reprezentowane przez obiekty MoreComments.
Wyobraź to sobie tak:
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")
Użycie replace_more() do pobrania wszystkich ukrytych komentarzy
Metoda replace_more() przechodzi przez drzewo komentarzy i zamienia każdy placeholder MoreComments na właściwe komentarze, do których prowadzi:
1submission = reddit.submission(id="abcdef")
2submission.comments.replace_more(limit=10) # praktyczny limit dla dużych wątków
3all_comments = submission.comments.list() # spłaszczona lista w kolejności breadth-first
Ustawienie limit=None zamienia każdy pojedynczy węzeł MoreComments — ale w wątku z ponad 5 000 komentarzy może to zająć kilka minut, ponieważ każda podmiana to jedno żądanie API zwracające maksymalnie około 100 komentarzy. Przy dużych wątkach polecam zaczynać od limit=10 albo limit=20 i zwiększać go tylko wtedy, gdy potrzebujesz pełnego obrazu.
Spłaszczanie zagnieżdżonych komentarzy do tabeli
1rows = []
2for c in all_comments:
3 rows.append({
4 "comment_id": c.id,
5 "parent_id": c.parent_id, # t1_xxx = komentarz nadrzędny, 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)
Komentarze najwyższego poziomu mają parent_id zaczynające się od t3_ (pełna nazwa submission). Kolumna depth pokazuje, jak głęboko zagnieżdżony jest każdy komentarz — przydaje się do filtrowania lub wizualizacji. Jedna pułapka: len(all_comments) zwykle nie będzie zgodne z submission.num_comments, bo komentarze usunięte, skasowane i odfiltrowane przez spam nie wchodzą do drzewa.
Metoda 2: trik z endpointem .json — scrapowanie Reddita bez klucza API
Dodaj .json do dowolnego adresu Reddita. To wszystko. Dostajesz uporządkowany JSON — bez uwierzytelniania, rejestracji aplikacji i bez instalowania pip.
Przykład: https://www.reddit.com/r/python/hot.json
Użytkownicy forów wspominają o tym triku bez przerwy, a jednak prawie żaden poradnik go nie omawia.
Działający fragment kodu w Pythonie
1import requests
2> This paragraph contains content that cannot be parsed and has been skipped.
3for post in data["data"]["children"]:
4 p = post["data"]
5 print(p["title"], p["score"], p["num_comments"], p["author"])
Nagłówek User-Agent jest kluczowy. Reddit blokuje albo ogranicza ogólne user-agenty, takie jak python-requests/2.31.0 — jak , „to ograniczanie liczby żądań opiera się na user-agent”. Użyj tego samego opisowego formatu co w PRAW.
Jak obsłużyć paginację za pomocą parametru after
Endpoint .json zwraca domyślnie około 25 wyników (maksymalnie 100 na żądanie). Aby pobrać więcej, użyj kursora after z odpowiedzi:
1import requests, time
2> This paragraph contains content that cannot be parsed and has been skipped.
3> This paragraph contains content that cannot be parsed and has been skipped.
4Wartość `after` to token kursora (format: `t3_xxxxxx`). Podobnie jak w PRAW, twardy limit to około 1 000 elementów łącznie we wszystkich paginowanych żądaniach.
5### Ograniczenia metody .json
6- **Brak dostępu do głębokiego drzewa komentarzy** — dostajesz komentarze najwyższego poziomu oraz jedną warstwę stubów „more”, ale bez automatycznego rozwijania jak w `replace_more()` PRAW
7- **Tylko odczyt** — bez głosowania, publikowania i moderacji
8- **Około 10 żądań na minutę** przy ruchu bez uwierzytelnienia — zbyt agresywne pętle kończą się błędem 429
9- **Ten sam limit 1 000 elementów** co w uwierzytelnionym API
10Ta metoda najlepiej sprawdza się przy szybkich, jednorazowych pobraniach, prototypowaniu albo wtedy, gdy nie chcesz zakładać aplikacji API.
11## Metoda 3: Jak scrapować Reddit za pomocą BeautifulSoup (parsowanie HTML)
12Jeśli kiedykolwiek robiłeś web scraping, pewnie znasz BeautifulSoup. Kluczowa wskazówka w przypadku Reddita: używaj `old.reddit.com` zamiast nowego interfejsu opartego na React. Stary interfejs jest renderowany po stronie serwera, lżejszy i znacznie łatwiejszy do parsowania — [kilka poradników z lat 2025–2026](https://dev.to/luminousmen/how-to-scrape-reddit-in-2026-a-complete-guide-5b1p) potwierdza, że nadal działa i jest przyjazny dla scraperów.
13### Konfiguracja requests i BeautifulSoup
14```bash
15pip install requests beautifulsoup4
1import requests
2from bs4 import BeautifulSoup
3> This paragraph contains content that cannot be parsed and has been skipped.
4### Pobieranie danych o postach z DOM
5Na old.reddit.com każdy post znajduje się wewnątrz `<div>` z klasą `thing`. Najstabilniejsze selektory to atrybuty `data-*`:
6```python
7for thing in soup.select("div#siteTable > div.thing"):
8 title_el = thing.select_one("a.title")
9 print({
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 "domain": thing.get("data-domain"),
15 "url": title_el.get("href") if title_el else None,
16 })
Lepszym wyborem są atrybuty data-* niż zagnieżdżone selektory klas — Reddit zmieniał klasy wielokrotnie, ale atrybuty danych są generowane z szablonu i rzadko się zmieniają.
Obsługa paginacji na old.reddit.com
1import time
2url = "https://old.reddit.com/r/python/"
3all_rows = []
4> This paragraph contains content that cannot be parsed and has been skipped.
5### Kiedy wybrać BeautifulSoup zamiast PRAW
6BeautifulSoup sprawdza się, gdy chcesz nauczyć się scrapowania DOM, nie chcesz rejestrować aplikacji OAuth albo potrzebujesz własnych pól, których PRAW nie udostępnia. Ale jest bardziej kruchy — struktura HTML może się zmienić bez ostrzeżenia, blokady IP są w 2025 roku bardziej agresywne niż kiedyś, a cały kod do paginacji i obsługi błędów musisz napisać sam. Pod względem niezawodności i głębokości danych wygrywa PRAW.
7## Metoda 4: Jak scrapować Reddit bez kodu, używając Thunderbit
8Mała spowiedź: wiele osób szukających hasła „how to scrape Reddit with Python” tak naprawdę nie chce pisać w Pythonie. Chcą po prostu *dane*. Jeśli to o Tobie, ten fragment jest Twoją drogą na skróty.
9[Thunderbit](https://thunderbit.com/) to oparta na AI rozszerzenie do Chrome, które nasz zespół zbudował właśnie do takich zadań — wyciągania ustrukturyzowanych danych ze stron bez pisania kodu.
10### Krok 1: Zainstaluj Thunderbit i otwórz stronę Reddita
11Zainstaluj [rozszerzenie Thunderbit dla Chrome](https://chromewebstore.google.com/detail/thunderbit-ai-web-scraper/hbkblmodhbmcakopmmfbaopfckopccgp), a potem przejdź do dowolnego subreddita lub strony posta na Redditcie (np. `reddit.com/r/python`).
12Bez klucza API, bez środowiska Python, bez poleceń w terminalu.
13### Krok 2: Kliknij „AI Suggest Fields” i pozwól AI przeczytać stronę
14Kliknij ikonę Thunderbit na pasku narzędzi przeglądarki, a następnie wybierz **"AI Suggest Fields."** AI Thunderbit skanuje stronę i automatycznie proponuje kolumny takie jak tytuł posta, nazwa użytkownika, upvoty, liczba komentarzy, data publikacji, opis posta, nazwa społeczności i URL posta.
15Możesz dodawać, usuwać albo zmieniać nazwy kolumn według potrzeb. Na przykład jeśli interesują Cię tylko tytuły i wyniki, po prostu usuń pozostałe pola.
16### Krok 3: Kliknij „Scrape” i wyeksportuj dane
17Kliknij **"Scrape"**, a Thunderbit pobierze dane, automatycznie obsługując paginację. Gdy tabela zostanie wypełniona, możesz od razu wyeksportować ją do Excel, Google Sheets, Airtable lub Notion — bez pisania kodu CSV.
18Do głębszych danych funkcja **subpage scraping** w Thunderbit pozwala wejść w pojedyncze wątki i automatycznie wzbogacić tabelę o dane z komentarzy. Koncepcyjnie działa to podobnie jak `replace_more()` w PRAW — ale bez napisania choćby jednej linijki kodu.
19### Bonus: planowe scrapowanie do stałego monitoringu Reddita
20Jeśli chcesz codziennie śledzić subreddita — na przykład monitorować wzmianki o marce w r/SaaS albo dyskusje o konkurencji w niszowej społeczności — zaplanowany scraper Thunderbit obsłuży cykliczne uruchomienia. Opisujesz interwał prostym językiem (np. „co każdy dzień roboczy o 9:00”), a narzędzie robi resztę, dostarczając świeże dane do połączonego arkusza lub bazy danych.
21Więcej o możliwościach scrapowania Reddita w Thunderbit znajdziesz na [kanale Thunderbit na YouTube](https://www.youtube.com/@thunderbit-ai).
22## Wskazówki i najlepsze praktyki przy scrapowaniu Reddita w Pythonie
23Większości z nich nauczyłem się na własnych błędach — obowiązują niezależnie od tego, którą metodę wybrałeś.
24### Szanuj regulamin Reddita i limity żądań
25[Data API Terms](https://www.redditinc.com/policies/data-api-terms) Reddita wyraźnie zakazują komercyjnego scrapowania bez pisemnej zgody — i dotyczy to wszystkich metod dostępu, nie tylko API. Do użytku osobistego, akademickiego i wewnętrznych badań darmowy poziom OAuth oraz przepływy Thunderbit mieszczą się w granicach rozsądnego użycia.
26Szybka ściąga dotycząca limitów:
27<Table content={`| **Scenariusz** | **Limit** | **Co się dzieje** |
28|---|---|---|
29| Uwierzytelniony (OAuth) | 60–100 żądań/min | PRAW obsługuje to automatycznie |
30| Bez uwierzytelnienia (.json, HTML) | ~10–30 żądań/min | 429 Too Many Requests |
31| Ogólny User-Agent | Silne ograniczenie | 403 Forbidden albo ciche blokady |`} />
32Zawsze ustawiaj opisowy ciąg `User-Agent`. To najczęstszy powód, dla którego osoby scrapujące po raz pierwszy trafiają na błędy 429 lub 403.
33### Przechowuj i porządkuj dane w czytelny sposób
34- Używaj DataFrame’ów pandas z jasno określoną kolejnością kolumn, aby eksport do CSV/Excela był przewidywalny
35- Zamieniaj `created_utc` na czytelny czas: `pd.to_datetime(df["created_utc"], unit="s")`
36- Usuwaj duplikaty po `id` przy scrapowaniu z różnych sortowań (hot, new i top często się nakładają)
37- Obsługuj usuniętych autorów: `str(post.author) if post.author else "[deleted]"`
38### Łagodnie obsługuj typowe błędy
39<Table content={`| **Błąd** | **Przyczyna** | **Naprawa** |
40|---|---|---|
41| 429 Too Many Requests | Przekroczenie limitu (60–100 żądań/min dla OAuth) | Wdrożenie exponential backoff; sprawdzenie nagłówka \`X-Ratelimit-Reset\` |
42| 403 Forbidden | Zły User-Agent albo zablokowany IP | Użyj unikalnego, opisowego ciągu UA; upewnij się, że aplikacja OAuth jest aktywna |
43| Autor = \`None\` | Skasowane lub zawieszone konto | Zabezpiecz kod: \`if post.author else "[deleted]"\` |
44| \`prawcore.TooManyRequests\` | Uruchomił się bufor limitu po stronie PRAW | Zwiększ \`ratelimit_seconds\` albo rozłóż żądania równomiernie |
45| Błędy 5xx lub 413 przy dużych drzewach | Przeciążenie backendu Reddita na głębokich wątkach | Owiń \`replace_more()\` logiką ponawiania; ogranicz głębokość rekurencji |`} />
46## Zastosowania scrapowania Reddita: co możesz zrobić z tymi danymi?
47Scraping to dopiero pierwszy krok. Oto co naprawdę daje efekty:
48- **Zespoły sprzedaży:** Monitoruj subreddity takie jak r/SaaS, r/smallbusiness czy r/Entrepreneur pod kątem postów typu „szukam narzędzia, które robi X”. Dopasowania kieruj do list leadów lub workflow w CRM. Do codziennego monitoringu użyj planowego scrapera Thunderbit.
49- **Marketing i content:** Śledź wzmianki o marce, analizuj trendy sentymentu i wyciągaj trendujące pytania do pomysłów na treści. Połącz eksport z Reddita z Google Sheets, żeby ułatwić współpracę zespołową.
50- **E-commerce i operacje:** Monitoruj dyskusje o produktach konkurencji pod kątem powtarzających się skarg. Subreddity takie jak r/BuyItForLife i społeczności branżowe to kopalnie opinii o produktach.
51- **Badacze i analitycy:** Buduj zbiory danych NLP — prace akademickie z 2024 roku korzystały ze zbiorów od [37 tys. komentarzy](https://dl.acm.org/doi/10.1145/3632366.3632383) do [54 tys. komentarzy](https://www.mdpi.com/2076-3417/14/1/123) do klasyfikacji sentymentu i emocji. Kolekcje danych z PRAW można cytować w recenzji naukowej.
52<iframe width="560" height="315" src="https://www.youtube.com/embed/Se3GEUY3AGI" title="Scrapuj Reddit jak PRO z Pythonem" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen></iframe>
53Jeśli chcesz pójść dalej i dowiedzieć się, jak [scrapować dane z mediów społecznościowych skutecznymi narzędziami](https://thunderbit.com/blog/scrape-social-media-data-effective-tools) albo [wyciągać dane ze stron do Excela](https://thunderbit.com/blog/extract-data-from-website-to-excel), na blogu Thunderbit opisaliśmy te procesy szczegółowo.
54## Podsumowanie
55Scrapowanie Reddita w 2025 roku nie przypomina już tego sprzed dwóch lat. Zmiany API z 2023 roku zabiły Pushshift, zamknęły lubiane aplikacje firm trzecich i wprowadziły płatne poziomy dostępu.
56Ale darmowy poziom nadal działa świetnie do użytku osobistego i akademickiego, a sposobów na pozyskanie danych jest więcej niż kiedykolwiek.
57Oto jednozdaniowe podsumowanie każdej metody:
58
59Czy jesteś doświadczonym użytkownikiem Pythona, czy raczej kimś, kto woli mieć arkusz na lunch — jedna z tych czterech metod Cię tam doprowadzi. Jeśli wolisz całkiem pominąć kod, możesz [wypróbować Thunderbit za darmo](https://thunderbit.com/) i zobaczyć, jak radzi sobie z Redditem w kilka kliknięć. A jeśli chcesz dalej doskonalić umiejętności scrapowania w Pythonie, dodaj ten poradnik do zakładek — będę go aktualizować, gdy ekosystem Reddita będzie się zmieniał.
60Więcej o podejściach do web scrapingu znajdziesz w naszych poradnikach: [jak scrapować strony w Pythonie](https://thunderbit.com/blog/how-to-web-scrape-with-python), [najlepsze narzędzia do web scrapingu w Pythonie](https://thunderbit.com/blog/best-python-web-scraping-tools) oraz [najlepsze praktyki web scrapingu](https://thunderbit.com/blog/learn-web-scraping-best-practices).
61## FAQ
62### Czy scrapowanie Reddita w Pythonie jest legalne?
63[Data API Terms](https://www.redditinc.com/policies/data-api-terms) Reddita zakazują komercyjnego scrapowania bez pisemnej zgody. Darmowy poziom OAuth jest dostępny do użytku osobistego, niekomercyjnego i akademickiego. Ocenę prawną należy traktować niezależnie od narzędzia — dotyczy to zarówno API, endpointu .json, jak i scrapowania HTML. Zawsze sprawdzaj aktualne warunki Reddita przed masowym scrapowaniem.
64### Czy PRAW nadal działa po zmianach API Reddita z 2023 roku?
65Tak. PRAW 7.8.1 (październik 2024) jest aktywnie rozwijany i automatycznie działa w ramach [bezpłatnego limitu 100 zapytań na minutę w OAuth](https://support.reddithelp.com/hc/en-us/articles/16160228947852-Reddit-Data-API-Wiki). Zmiany cen z 2023 roku dotknęły głównie użycia API na dużą skalę i komercyjnego, a nie typowych wzorców scrapowania w PRAW.
66### Czy mogę scrapować Reddit bez klucza API?
67Tak — endpoint .json i parsowanie HTML przez BeautifulSoup działają bez kluczy API. [Thunderbit](https://thunderbit.com/) również nie wymaga klucza API. Wszystkie trzy metody nadal podlegają regulaminowi Reddita w przypadku użycia komercyjnego.
68### Jak scrapować komentarze z Reddita, a nie tylko posty?
69W PRAW użyj `submission.comments.replace_more(limit=10)`, a następnie `submission.comments.list()`, aby spłaszczyć zagnieżdżone drzewo komentarzy do listy. W Thunderbit użyj scrapowania podstron, aby automatycznie wzbogacić listę postów o dane komentarzy z każdego wątku.
70### Jaki jest najszybszy sposób scrapowania Reddita bez kodowania?
71[Rozszerzenie Thunderbit dla Chrome](https://chromewebstore.google.com/detail/thunderbit-ai-web-scraper/hbkblmodhbmcakopmmfbaopfckopccgp) pozwala scrapować posty i komentarze z Reddita w dwóch kliknięciach i eksportować je bezpośrednio do Excel, Google Sheets, Airtable lub Notion — bez Pythona, bez klucza API, bez konfiguracji.
72**Dowiedz się więcej**
73- [Najlepsze automatyczne narzędzia do web scrapingu](https://thunderbit.com/blog/best-automated-web-scraping-tools)
74- [Jak scrapować strony w Pythonie](https://thunderbit.com/blog/how-to-web-scrape-with-python)
75- [Pobieranie danych ze strony do Excela](https://thunderbit.com/blog/scrape-data-from-website-into-excel)
76- [Scrapowanie LinkedIna w Pythonie](https://thunderbit.com/blog/scrape-linkedin-with-python)
77- [Najlepsze narzędzia do web scrapingu w Pythonie](https://thunderbit.com/blog/best-python-web-scraping-tools)