Google betalar 60 miljoner dollar per år för att licensiera Reddit-data. OpenAIs avtal uppges ligga på 70 miljoner dollar. Det säger en hel del om vad som faktiskt finns gömt i de där kommentarstrådarna. Om du någon gång har försökt samla in diskussionstrådar, kommentarer eller sentimentdata från Reddit manuellt vet du redan hur frustrerande det kan vara: oändligt scrollande, mängder av copy-paste och alldeles för många öppna flikar.
Jag lade en stor del av förra kvartalet på att hjälpa vårt team på Thunderbit att förstå hur människor faktiskt extraherar Reddit-data 2025. Landskapet har förändrats rejält sedan Reddits API-omläggning 2023, och de flesta guider på nätet är antingen föråldrade eller täcker bara ett enda sätt. Så jag satte ihop allt som faktiskt fungerar just nu — fyra olika angreppssätt, från ren Python-kod till helt kodfri extrahering — så att du kan välja det som passar din kunskapsnivå och ditt användningsfall. Oavsett om du bygger ett NLP-dataset, bevakar en subreddit för varumärkesomnämnanden eller bara vill ha ett kalkylblad med trendande inlägg, så har den här guiden det du behöver.
Vad är Reddit-skrapning (och varför spelar det roll)?
Reddit-skrapning innebär att man programmässigt hämtar inlägg, kommentarer, användardata och metadata från Reddits sidor eller API. I stället för att manuellt klicka runt i trådar och kopiera text använder du ett skript eller ett verktyg för att samla strukturerad data i stor skala.
Varför göra det? Reddit har över och genererar uppskattningsvis . Det är platsen där människor delar ofiltrerade åsikter om produkter, tjänster, konkurrenter och trender — den typen av autentiska signaler som nästan är omöjliga att hitta på putsade recensionssajter eller i företagsbloggar. Google betalar ungefär för en licens till Reddit-innehåll, och OpenAIs avtal uppges ligga på . Om världens största AI-bolag betalar nio siffror för den här datan, är det absolut värt att lära sig hur man kommer åt den själv.
Varför skrapa Reddit med Python 2025?
Python är standardspråket för Reddit-skrapning — PRAW, requests, BeautifulSoup och pandas täcker allt från API-anrop till dataexport. Men “varför” handlar om mer än bara verktyg.
Här är de vanligaste användningsområdena jag ser hos affärs- och forskningsteam:
| Användningsfall | Vem gynnas | Exempel |
|---|---|---|
| Marknadsanalys och validering | Produktchefer, grundare | Att gräva i r/SaaS eller r/Entrepreneur för återkommande problem |
| Sentimentanalys | Marknadsföring, varumärkesteam | Att följa hur människor pratar om din produkt jämfört med konkurrenter |
| Leadgenerering | Säljteam | Att hitta inlägg som "letar efter ett verktyg som gör X" i nischade subreddits |
| Idéer till innehåll | Content marketers | Att upptäcka trendande frågor och ämnen i r/marketing eller r/SEO |
| Akademisk / NLP-forskning | Forskare, data scientists | Att bygga märkta dataset från kommentarstrådar för emotion classification |
| Konkurrensbevakning | Strategi, drift | Att övervaka konkurrentsubreddits för återkommande klagomål |
Reddits användarbas nådde uppskattningsvis , med — en ökning med 24 % jämfört med året innan. Och efter Googles core-uppdatering i augusti 2024 blev Reddit-innehåll ungefär i organiska sökresultat.
Översatt till vanlig svenska: datan du skrapar från Reddit är i allt högre grad samma data som Google visar för sökare.
Vilken metod ska du använda för att skrapa Reddit? (Snabb jämförelse)
Den vanligaste frågan i Reddit-forum om skrapning är bokstavligen: “Vilken metod ska jag använda?” Så jag satte ihop den här tabellen. Välj din rad och kör.
| Kriterium | PRAW | .json-endpoint | BeautifulSoup (HTML) | Kodfritt (Thunderbit) |
|---|---|---|---|---|
| Komplexitet i setup | Medel (API-app + pip-installation) | Ingen (bara en URL) | Medel (pip + DOM-inspektion) | Väldigt låg (Chrome-tillägg) |
| Krävs API-nyckel? | Ja | Nej | Nej | Nej |
| Kommentarsskrapning | Djup (nästlade träd) | Begränsad (top level) | Manuell parsning | AI-strukturerad |
| Sidnumrering | Inbyggd | Manuell (after-parameter) | Manuell | Automatisk |
| Rate limiting | 100 req/min (hanteras av PRAW) | ~10 req/min (utan autentisering) | Risk för IP-blockering | Hanteras av verktyget |
| Bäst för | Fullskaliga projekt, forskning | Snabba engångshämtningar | Lärande/anpassning | Icke-kodare, snabba exporter |
| Exportalternativ | CSV, JSON (manuell kod) | JSON (rådata) | Anpassat (manuell kod) | Excel, Google Sheets, Airtable, Notion |
Om du vill bygga fullskaliga Python-projekt med djup kommentarsextraktion, börja med metod 1 (PRAW). Behöver du snabbt få ut data inom tio minuter utan förberedelser? Testa metod 2 (.json-tricket). Vill du lära dig HTML-skrapning eller behöver du anpassade fält? Välj metod 3 (BeautifulSoup). Och om du helst hoppar över Python helt och bara vill ha datan, gå direkt till metod 4 ().
Vad som förändrades: Reddits API-prissättning 2023–2024 (och vad som fortfarande är gratis)
Nästan inga skrapningsguider tar upp det här — och det är den enskilt viktigaste kontexten för alla som skrapar Reddit i dag.
I juni 2023 införde Reddit för första gången sedan 2008 betalda nivåer för API-åtkomst. Följderna blev enorma:
- Pushshift dog för allmän användning. Reddit drog tillbaka Pushshifts API-åtkomst i maj 2023. Forskare som lutat sig mot tjänsten (över citerade Pushshift) förlorade sin primära datakälla över en natt. Efterföljaren för historisk data är , men det finns ingen publik ersättare för ett live-API.
- Tredjepartsappar stängdes ner. Apollo, Reddit is Fun, Sync, BaconReader och andra stängdes alla ner senast den 30 juni 2023, efter att Reddit uppgett att Apollo-utvecklaren skulle få betala i API-avgifter.
- Över 8 500 subreddits gick i mörker i protest, inklusive r/funny (40 miljoner prenumeranter), r/gaming och r/science ().
Vad som fortfarande är gratis 2025:
Den finns fortfarande för icke-kommersiell, personlig och akademisk användning — 100 förfrågningar per minut per OAuth-klient-ID. PRAW fungerar utmärkt inom den här nivån för måttlig skrapning. Oautentiserad åtkomst (inklusive .json-endpointen) är begränsad till ungefär 10 förfrågningar per minut.
Det praktiska slutsvaret: För små till medelstora skrapningsuppgifter räcker den kostnadsfria nivån mer än väl. För storskalig eller kommersiell användning behöver du antingen kontakta Reddit för enterprise-åtkomst, använda .json-endpointen eller BeautifulSoup (som inte kräver API-nycklar), eller använda ett verktyg som Thunderbit som inte alls är beroende av Reddits API.
Innan du börjar
- Svårighetsgrad: Nybörjare till medelnivå (varierar beroende på metod)
- Tidsåtgång: ~15–30 minuter för metod 1–3; ~5 minuter för metod 4
- Det här behöver du:
- Python 3.8+ installerat (för metod 1–3)
- Ett Reddit-konto (för metod 1)
- Chrome-webbläsare (för metod 4)
- (för metod 4)
Metod 1: Så skrapar du Reddit med Python med PRAW (steg för steg)
PRAW (Python Reddit API Wrapper) är den mest populära och bäst dokumenterade metoden för att skrapa Reddit med Python. Den hanterar autentisering, rate limiting och sidnumrering åt dig, och den underhålls aktivt — senaste stabila versionen är PRAW 7.8.1 (oktober 2024), med stöd för Python 3.8 till 3.13.
Steg 1: Skapa en Reddit-app och hämta dina API-uppgifter
Gå till och scrolla längst ner. Klicka på "are you a developer? create an app..."
Fyll i formuläret:
- Name: något beskrivande (t.ex. "my-reddit-scraper")
- App type: välj script
- Redirect URI: ange
http://localhost:8080(krävs men används inte för script-appar) - Description: valfritt
Klicka på Create app. Då visas dina uppgifter:
- client_id — den 14 tecken långa strängen direkt under appnamnet (märkt "personal use script")
- client_secret — fältet märkt "secret"
Du behöver också godkänna Reddits och innan appskapandet är klart.
En sak att känna till: sedan slutet av 2024 kan nya utvecklare behöva skicka in en åtkomstförfrågan och vänta på godkännande. Det här är den största tröskeln för förstagångsanvändare av PRAW, och det finns ingen genväg runt den.
Steg 2: Installera PRAW och skapa en Reddit-instans
Öppna terminalen och kör:
1pip install praw pandas
Skapa sedan en skrivskyddad Reddit-instans:
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 är True som standard för script-appar utan lösenord
Formatet på user_agent spelar roll. Reddit stryper aktivt generiska strängar som python-requests/2.x. Använd Reddits rekommenderade format: plattform:app_id:version (by u/användarnamn).
Steg 3: Skrapa inlägg från en subreddit
Så här hämtar du toppinläggen från r/python för den senaste månaden och sparar dem i en 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())
Du kan byta ut .top() mot .hot(), .new() eller .controversial(), och time_filter accepterar "all", "day", "hour", "month", "week" eller "year".
Viktigt att känna till: Reddit begränsar alla listningar till ungefär 1 000 objekt, oavsett hur högt du sätter limit. Det är en gräns hos Reddit, inte hos PRAW.
Steg 4: Exportera Reddit-data till CSV eller Excel
1df.to_csv("reddit_python_top.csv", index=False)
2df.to_json("reddit_python_top.json", orient="records", lines=True)
PRAW hanterar rate limiting automatiskt — den läser X-Ratelimit-Remaining- och X-Ratelimit-Reset-huvudena i varje svar och pausar mellan anrop vid behov. För måttlig skrapning behöver du sällan lägga till manuella fördröjningar.
Hur man skrapar Reddit-kommentarer med Python (djupa nästlade trådar)
Att skrapa kommentarer är där de flesta stöter på patrull.
Reddit lagrar kommentarer som ett träd: varje kommentar kan ha underkommentarer, och vissa grenar är dolda bakom länkar som “load more comments”. I PRAW:s värld representeras dessa dolda grenar av MoreComments-objekt.
Så här kan du tänka dig strukturen:
1Submission (t3_abc123)
2├── Kommentar A (översta nivån)
3│ ├── Svar A1
4│ │ └── Svar A1a
5│ └── Svar A2
6├── Kommentar B (översta nivån)
7│ └── MoreComments (dold — "ladda fler kommentarer")
8└── MoreComments (dold — "fortsätt den här tråden")
Använd replace_more() för att hämta alla dolda kommentarer
Metoden replace_more() går igenom kommentarträdet och ersätter varje MoreComments-platshållare med de faktiska kommentarer den pekar på:
1submission = reddit.submission(id="abcdef")
2submission.comments.replace_more(limit=10) # praktisk gräns för stora trådar
3all_comments = submission.comments.list() # plattad breadth-first
Om du sätter limit=None ersätts varje enskild MoreComments-nod — men i en tråd med 5 000+ kommentarer kan detta ta flera minuter eftersom varje ersättning är en API-förfrågan som returnerar högst ~100 kommentarer. För stora trådar rekommenderar jag att börja med limit=10 eller limit=20 och bara öka om du verkligen behöver fullständighet.
Platta ut nästlade kommentarer till en tabell
1rows = []
2for c in all_comments:
3 rows.append({
4 "comment_id": c.id,
5 "parent_id": c.parent_id, # t1_xxx = föräldrakommentar, 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)
Kommentarer på översta nivån har parent_id som börjar med t3_ (submissionens fullständiga ID). Kolumnen depth visar hur djupt varje kommentar ligger — användbart för filtrering eller visualisering. En sak att se upp med: len(all_comments) kommer oftast inte att matcha submission.num_comments eftersom borttagna, raderade och spamfiltrerade kommentarer inte ingår i trädet.
Metod 2: .json-tricket — skrapa Reddit utan API-nyckel
Lägg till .json på valfri Reddit-URL. Det är allt. Du får strukturerad JSON tillbaka — ingen autentisering, ingen appregistrering, ingen pip-installation.
Exempel: https://www.reddit.com/r/python/hot.json
Forumdeltagare nämner det här tricket hela tiden, men nästan ingen tutorial går igenom det.
Ett fungerande kodexempel i 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"])
Rubriken User-Agent är avgörande. Reddit blockerar eller stryper generiska användaragentsträngar som python-requests/2.31.0 — som , “den här rate limitingen baseras på user-agent.” Använd samma beskrivande format som i PRAW.
Hur du hanterar sidnumrering med parametern after
.json-endpointen returnerar cirka 25 resultat som standard (max 100 per förfrågan). För att få mer använder du after-cursorn från svaret:
1import requests, time
2headers = {"User-Agent": "python:reddit-scraper:v1.0 (by /u/yourname)"}
3after = None
4all_posts = []
5for _ in range(10): # upp till ~1000 inlägg
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 QPM = en förfrågan var 6:e sekund
Värdet after är en cursor-token (format: t3_xxxxxx). Precis som i PRAW är den hårda gränsen ungefär 1 000 objekt totalt över alla paginerade förfrågningar.
Begränsningar med .json-metoden
- Ingen åtkomst till djupa kommentarträd — du får top level-kommentarer plus ett lager av “more”-platshållare, men ingen automatisk expansion som i PRAW:s
replace_more() - Skrivskyddad — ingen röstning, inga inlägg, ingen moderering
- ~10 förfrågningar per minut för oautentiserad trafik — aggressiva loopar utlöser 429-fel
- Samma gräns på 1 000 objekt som det autentiserade API:t
Den här metoden passar bäst för snabba engångshämtningar, prototyper eller situationer där du inte vill registrera en API-app.
Metod 3: Så skrapar du Reddit med BeautifulSoup (HTML-parsning)
Om du har hållit på med web scraping tidigare känner du säkert till BeautifulSoup. Nyckelinsikten för just Reddit: använd old.reddit.com i stället för den nya React-baserade frontend-versionen. Det gamla gränssnittet renderas på serversidan, är lättare och mycket enklare att tolka — bekräftar att det fortfarande är uppe och ganska vänligt inställt till skrapning.
Installera Requests och 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")
Extrahera inläggsdata från DOM:en
På old.reddit.com ligger varje inlägg i en <div> med klassen thing. De mest stabila selektorerna är data-*-attributen:
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 })
Föredra data-*-attribut framför nästlade klass-selektorer — Reddit har ändrat klassnamn flera gånger genom åren, men data-attributen styrs av mallen och ändras sällan.
Hantera sidnumrering på 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) # artighetsfördröjning
När ska du använda BeautifulSoup i stället för PRAW?
BeautifulSoup passar bra när du vill lära dig DOM-skrapning, inte vill registrera en OAuth-app eller behöver anpassade fält som PRAW inte exponerar. Men det är skörare — HTML-strukturen kan ändras utan förvarning, IP-blockering är mer aggressiv 2025 än tidigare, och du måste skriva all kod för sidnumrering och felhantering själv. För tillförlitlighet och djup vinner PRAW.
Metod 4: Så skrapar du Reddit utan kod med Thunderbit
En bekännelse: många som söker efter “hur man skrapar Reddit med Python” vill egentligen inte skriva Python. De vill ha datan. Om det är du, så är det här din genväg.
är ett AI-drivet Chrome-tillägg som vårt team byggt just för den här typen av behov — att extrahera strukturerad data från webbsidor utan att skriva kod.
Steg 1: Installera Thunderbit och öppna en Reddit-sida
Installera , och gå sedan till valfri subreddit eller postsida på Reddit (t.ex. reddit.com/r/python).
Ingen API-nyckel, ingen Python-miljö, inga terminalkommandon.
Steg 2: Klicka på "AI Suggest Fields" och låt AI läsa sidan
Klicka på Thunderbit-ikonen i webbläsarens verktygsfält och tryck sedan på "AI Suggest Fields." Thunderbits AI skannar sidan och föreslår automatiskt kolumner som Post Title, User Name, Upvotes, Comments Count, Date Posted, Post Description, Community Name och Post URL.
Du kan lägga till, ta bort eller byta namn på kolumner efter behov. Om du till exempel bara bryr dig om inläggstitlar och poäng, kan du helt enkelt ta bort de andra fälten.
Steg 3: Klicka på "Scrape" och exportera din data
Tryck på "Scrape" så hämtar Thunderbit datan och hanterar sidnumreringen automatiskt. När tabellen är fylld kan du exportera direkt till Excel, Google Sheets, Airtable eller Notion — ingen CSV-kod behövs.
För djupare data låter Thunderbits subpage scraping dig klicka dig in i enskilda trådar och automatiskt berika tabellen med kommentar-data. Det är konceptuellt likt PRAW:s replace_more() — men utan att skriva en enda rad kod.
Bonus: Schemalagd skrapning för löpande Reddit-övervakning
Om du behöver följa en subreddit dagligen — säg att du övervakar varumärkesomnämnanden i r/SaaS eller konkurrentdiskussioner i en nischad community — kan Thunderbits schemalagda scraper köra återkommande jobb. Du beskriver intervallet på vanlig svenska (t.ex. “varje vardag klockan 9”) och verktyget gör resten, med färsk data till ditt anslutna kalkylblad eller din databas.
Du kan läsa mer om Thunderbits möjligheter för Reddit-skrapning på .
Tips och bästa praxis för att skrapa Reddit med Python
Jag har lärt mig det mesta av detta den hårda vägen — och det gäller oavsett vilken metod du valde ovan.
Respektera Reddits användarvillkor och rate limits
Reddits förbjuder uttryckligen kommersiell skrapning utan skriftligt godkännande — och det gäller alla åtkomstmetoder, inte bara API:t. För personligt, akademiskt och internt forskningsbruk ligger den kostnadsfria OAuth-nivån och Thunderbits arbetsflöden inom rimliga gränser.
Snabbguide för rate limits:
| Scenario | Gräns | Vad händer |
|---|---|---|
| Autentiserad (OAuth) | 60–100 req/min | PRAW hanterar detta automatiskt |
| Oautentiserad (.json, HTML) | ~10–30 req/min | 429 Too Many Requests |
| Generisk User-Agent | Kraftigt strypt | 403 Forbidden eller tysta blockeringar |
Sätt alltid en beskrivande User-Agent-sträng. Det är den vanligaste orsaken till att förstagångsskrapare stöter på 429- eller 403-fel.
Lagra och strukturera din data snyggt
- Använd pandas DataFrames med tydlig kolumnordning för förutsägbara CSV-/Excel-exporter
- Konvertera
created_utctill läsbara tidsstämplar:pd.to_datetime(df["created_utc"], unit="s") - Ta bort dubletter på
idnär du skrapar flera sorteringar (hot, new och top överlappar ofta) - Hantera borttagna författare:
str(post.author) if post.author else "[deleted]"
Hantera vanliga fel på ett smidigt sätt
| Fel | Orsak | Åtgärd |
|---|---|---|---|
| 429 Too Many Requests | Du överskrider rate limit (60–100 req/min för OAuth) | Implementera exponentiell backoff; kontrollera huvudet X-Ratelimit-Reset |
| 403 Forbidden | Dålig User-Agent eller blockerad IP | Använd en unik, beskrivande UA-sträng; kontrollera att OAuth-appen är aktiv |
| None author | Raderat eller avstängt konto | Använd if post.author else "[deleted]" |
| prawcore.TooManyRequests | PRAW:s interna rate limit-buffer har utlösts | Öka ratelimit_seconds eller sprid ut förfrågningarna jämnt |
| 5xx eller 413 på stora trådar | Överbelastning i Reddits backend vid djupa trådar | Lägg replace_more() i retry-logik; begränsa rekursionsdjupet |
Användningsfall för Reddit-skrapning: vad kan du göra med datan?
Skrapningen är bara steg ett. Här är vad som faktiskt gör skillnad:
- Säljteam: Bevaka subreddits som r/SaaS, r/smallbusiness eller r/Entrepreneur efter inlägg som “letar efter ett verktyg som gör X”. Skicka träffarna vidare till leadlistor eller CRM-flöden. Använd Thunderbits schemalagda scraper för daglig övervakning.
- Marknadsföring och content-team: Följ varumärkesomnämnanden, analysera sentimenttrender och gräv fram trendande frågor för innehållsidéer. Kombinera Reddit-exporter med Google Sheets för teamsamarbete.
- E-handel och drift: Bevaka produktdiskussioner hos konkurrenter för återkommande klagomål. Subreddits som r/BuyItForLife och branschspecifika communities är riktiga guldgruvor för produktfeedback.
- Forskare och analytiker: Bygg NLP-datasets — akademiska artiklar 2024 använde dataset med till för sentiment- och emotionsklassificering. PRAW:s insamling av korpus är dessutom citerbar i peer review.
Om du vill fördjupa dig i hur du kan eller , har vi gått igenom de arbetsflödena i detalj på Thunderbits blogg.
Sammanfattning
Reddit-skrapning 2025 ser inte alls ut som för två år sedan. API-förändringarna 2023 dödade Pushshift, stängde ner älskade tredjepartsappar och införde betalda nivåer.
Men den kostnadsfria nivån lever och mår bra för personligt och akademiskt bruk, och det finns fler sätt att få tag på datan än någonsin.
Här är en kort sammanfattning av varje metod:

Oavsett om du är en Python-veteran eller mer av en kalkylblad-på-lunchen-person så kommer någon av de här fyra metoderna att få jobbet gjort. Om du hellre hoppar över koden helt kan du och se hur det hanterar Reddit med bara ett par klick. Och om du vill fortsätta skärpa dina Python-kunskaper inom skrapning, bokmärk den här guiden — jag kommer att hålla den uppdaterad i takt med att Reddits landskap fortsätter att förändras.
För mer om web scraping, kolla in våra guider om , och .
Vanliga frågor
Är det lagligt att skrapa Reddit med Python?
Reddits förbjuder kommersiell skrapning utan skriftligt godkännande. Den kostnadsfria OAuth-nivån finns för personligt, icke-kommersiellt och akademiskt bruk. Den juridiska bedömningen är oberoende av metod — den gäller oavsett om du använder API:t, .json-endpointen eller HTML-skrapning. Kontrollera alltid Reddits aktuella villkor innan du skrapar i större skala.
Fungerar PRAW fortfarande efter Reddits API-förändringar 2023?
Ja. PRAW 7.8.1 (oktober 2024) underhålls aktivt och fungerar automatiskt inom den . Prisförändringarna 2023 påverkade främst högvolyms- och kommersiell API-användning, inte vanliga PRAW-mönster för skrapning.
Kan jag skrapa Reddit utan API-nyckel?
Ja — både .json-endpointen och HTML-parsning med BeautifulSoup fungerar utan API-nycklar. kräver inte heller någon API-nyckel. Alla tre metoderna omfattas fortfarande av Reddits användarvillkor vid kommersiell användning.
Hur skrapar jag Reddit-kommentarer, inte bara inlägg?
Med PRAW använder du submission.comments.replace_more(limit=10) följt av submission.comments.list() för att platta ut det nästlade kommentarträdet till en lista. Med Thunderbit använder du subpage scraping för att automatiskt berika en inläggslista med kommentar-data från varje tråd.
Vad är det snabbaste sättet att skrapa Reddit utan att koda?
låter dig skrapa Reddit-inlägg och kommentarer med två klick och exportera direkt till Excel, Google Sheets, Airtable eller Notion — ingen Python, ingen API-nyckel, ingen setup krävs.
Läs mer