Python ile Reddit Nasıl Kazınır: Şu Anda Çalışan 4 Yöntem

Son güncelleme: April 15, 2026

Google, Reddit verilerini lisanslamak için yılda 60 milyon dolar ödüyor. OpenAI'nin anlaşmasının ise bildirildiğine göre 70 milyon dolar olduğu söyleniyor. Bu bile yorum zincirlerinin içinde ne kadar değerli veriler saklandığını anlatmaya yeter. Reddit’teki tartışma başlıklarını, yorumları ya da duygu analizine uygun verileri elle toplamaya çalıştıysan, yaşadığın sıkıntıyı bilirsin: bitmek bilmeyen kaydırma, kopyala-yapıştır ve sekme karmaşası.

Thunderbit’teki ekibimize, insanların 2025’te Reddit verisini gerçekten nasıl çektiğini araştırırken geçen çeyreğin önemli bir bölümünde yardımcı oldum. Reddit’in 2023 API fiyatlandırma değişikliğinden sonra tablo ciddi biçimde değişti ve internetteki rehberlerin çoğu ya güncel değil ya da sadece tek bir yöntemi anlatıyor. Bu yüzden şu anda gerçekten işe yarayan her şeyi bir araya getirdim — tam Python kodlamasından kodsuz veri çekmeye kadar dört ayrı yaklaşım — böylece beceri seviyene ve kullanım senaryona uygun olanı seçebilirsin. İster bir NLP veri seti oluşturuyor, ister bir alt dizinde marka adlarını izliyor, ister sadece trend gönderilerin yer aldığı bir tablo istiyor ol, bu rehber sana yardımcı olacak.

Reddit Kazıma Nedir (ve Neden Önemlidir)?

Reddit kazıma, Reddit sayfalarından ya da API’sinden gönderi, yorum, kullanıcı verisi ve meta verileri programatik olarak çekme işlemidir. Konuları tek tek açıp metin kopyalamak yerine, yapılandırılmış veriyi ölçekli biçimde toplamak için bir betik ya da araç kullanırsın.

Peki neden uğraşasın? Reddit’te bulunuyor ve tahminen günde üretiliyor. Kullanıcılar burada ürünler, hizmetler, rakipler ve trendler hakkında filtresiz fikirlerini paylaşıyor — cilalı inceleme sitelerinde ya da kurumsal bloglarda bulmanın neredeyse imkânsız olduğu türden, gerçek ve ham sinyaller bunlar. Google, bir Reddit içerik lisansı için yıllık yaklaşık ödüyor; OpenAI’nin anlaşmasının da bildirildiğine göre olduğu söyleniyor. Dünyanın en büyük yapay zekâ şirketleri bu veriler için milyonlarca dolar ödüyorsa, ona kendin erişmeyi öğrenmek kesinlikle değer.

2025’te Neden Reddit’i Python ile Kazımalısın?

Python, Reddit kazıma için varsayılan dil konumunda — PRAW, requests, BeautifulSoup ve pandas; API çağrılarından veri dışa aktarmaya kadar her adımı kapsıyor. Ama mesele yalnızca araçlar değil.

İş ve araştırma ekiplerinde en sık gördüğüm kullanım alanları şunlar:

Kullanım AlanıKimler İçin FaydalıÖrnek
Pazar araştırması ve doğrulamaÜrün yöneticileri, kurucularr/SaaS veya r/Entrepreneur içinde tekrar eden sorun noktalarını bulma
Duygu analiziPazarlama ve marka ekipleriKullanıcıların ürününü rakiplere kıyasla nasıl anlattığını izleme
Lead oluşturmaSatış ekipleriNiş alt dizinlerde “X yapan bir araç arıyorum” tarzı gönderileri bulma
İçerik fikri üretimiİçerik pazarlamacılarır/marketing veya r/SEO’da trend soruları ve konuları yakalama
Akademik / NLP araştırmasıAraştırmacılar, veri bilimcilerDuygu sınıflandırması için yorum zincirlerinden etiketli veri setleri oluşturma
Rekabet istihbaratıStrateji ve operasyon ekipleriRakip alt dizinlerde tekrar eden şikâyetleri izleme

Reddit’in kullanıcı tabanı 2025’te tahminen ulaştı; ise geçen yıla göre %24 artış demek. Ayrıca Google’ın Ağustos 2024 çekirdek güncellemesinden sonra Reddit içerikleri organik arama sonuçlarında yaklaşık hale geldi.

Kısacası: Reddit’ten kazıdığın veri, giderek Google’ın arama yapanlara gösterdiği verinin aynısı oluyor.

Reddit’i Kazımak İçin Hangi Yöntemi Seçmelisin? (Hızlı Karşılaştırma)

Reddit kazıma forumlarında en çok sorulan soru tam olarak şu: “Hangi yöntemi kullanmalıyım?” Bu yüzden bu tabloyu hazırladım. Satırını seç ve başla.

KriterPRAW.json Uç NoktasıBeautifulSoup (HTML)Kodsuz (Thunderbit)
Kurulum zorluğuOrta (API uygulaması + pip kurulumu)Yok (sadece URL)Orta (pip + DOM inceleme)Çok düşük (Chrome eklentisi)
API anahtarı gerekir mi?EvetHayırHayırHayır
Yorum kazımaDerin (iç içe ağaç yapısı)Sınırlı (üst seviye)Manuel ayrıştırmaAI ile yapılandırılmış
SayfalamaYerleşikManuel (after parametresi)ManuelOtomatik
Hız limiti100 istek/dk (PRAW tarafından yönetilir)~10 istek/dk (kimlik doğrulamasız)IP engeli riskiAraç tarafından yönetilir
En uygun kullanımKapsamlı projeler, araştırmaHızlı tek seferlik veri çekmeÖğrenme/özelleştirmeKod yazmayanlar, hızlı dışa aktarma
Dışa aktarma seçenekleriCSV, JSON (manuel kodla)JSON (ham)Özel (manuel kodla)Excel, Google Sheets, Airtable, Notion

Derin yorum çıkarımı içeren tam özellikli Python projeleri istiyorsan 1. Yöntem’den (PRAW) başla. Önümüzdeki 10 dakika içinde kurulum yapmadan hızlıca veri çekmek mi istiyorsun? 2. Yöntem’i dene (.json hilesi). HTML kazımayı öğrenmek ya da özel alanlara ihtiyaç duymak mı istiyorsun? 3. Yöntem’i (BeautifulSoup) seç. Python’u tamamen atlayıp sadece veriyi almak istiyorsan 4. Yöntem’e () geç.

Ne Değişti: Reddit’in 2023–2024 API Fiyatlandırma Güncellemesi (ve Hâlâ Ücretsiz Olarak Ne Çalışıyor?)

Neredeyse hiçbir kazıma rehberi bundan bahsetmiyor — oysa bugün Reddit kazıyan herkes için en kritik bağlam bu.

Haziran 2023’te Reddit, 2008’den bu yana ilk kez API erişimi için ücretli katmanlar getirdi. Sonuçlar çok büyüktü:

  • Pushshift kamu kullanımı için devre dışı kaldı. Reddit, Mayıs 2023’te Pushshift’in API erişimini geri çekti. Ona güvenen araştırmacılar ( Pushshift’e atıf yapıyordu) bir gecede ana veri kaynağını kaybetti. Tarihsel veriler için halef , ancak herkese açık canlı bir API alternatifi yok.
  • Üçüncü taraf uygulamalar kapandı. Apollo, Reddit is Fun, Sync, BaconReader ve diğerleri, Reddit’in Apollo geliştiricisine API ücretleri olarak yılda talep etmesinin ardından 30 Haziran 2023’e kadar kapanmak zorunda kaldı.
  • 8.500’den fazla alt dizi protesto için karardı; bunların arasında r/funny (40 milyon abone), r/gaming ve r/science de vardı ().

2025’te hâlâ ücretsiz olanlar:

, ticari olmayan, kişisel ve akademik kullanım için hâlâ açık — OAuth istemci kimliği başına dakikada 100 sorgu. PRAW, orta ölçekli kazıma işlemlerinde bu katman altında sorunsuz çalışıyor. Kimlik doğrulaması olmadan erişim (.json uç noktası dahil) ise dakikada yaklaşık 10 istekle sınırlı.

Pratik çıkarım: Küçük ve orta ölçekli kazıma işler için ücretsiz katman fazlasıyla yeterli. Büyük ölçekli ya da ticari kullanımda ise ya Reddit’ten kurumsal erişim istemen, ya .json uç noktasını veya BeautifulSoup’u kullanman (API anahtarı gerektirmezler), ya da Reddit API’sine hiç bağlı olmayan Thunderbit gibi bir araç kullanman gerekir.

Başlamadan Önce

  • Zorluk: Başlangıç – Orta seviye (yönteme göre değişir)
  • Gerekli Süre: 1–3. yöntemler için yaklaşık 15–30 dakika; 4. yöntem için yaklaşık 5 dakika
  • İhtiyacın Olanlar:
    • Python 3.8+ kurulu olmalı (1–3. yöntemler için)
    • Bir Reddit hesabı (1. yöntem için)
    • Chrome tarayıcısı (4. yöntem için)
    • (4. yöntem için)

Yöntem 1: PRAW Kullanarak Python ile Reddit Nasıl Kazınır? (Adım Adım)

PRAW (Python Reddit API Wrapper), Python ile Reddit kazımanın en popüler ve en iyi belgelenmiş yoludur. Kimlik doğrulama, hız limiti yönetimi ve sayfalama işlemlerini senin yerine yapar ve aktif olarak geliştirilmeye devam eder — en güncel kararlı sürüm PRAW 7.8.1’dir (Ekim 2024) ve Python 3.8 ile 3.13 arasını destekler.

Adım 1: Bir Reddit Uygulaması Oluştur ve API Bilgilerini Al

adresine git ve en alta kaydır. "are you a developer? create an app..." seçeneğine tıkla.

Formu doldur:

  • Name: açıklayıcı herhangi bir ad (ör. "my-reddit-scraper")
  • App type: script seç
  • Redirect URI: http://localhost:8080 gir (zorunlu ama script uygulamalarında kullanılmaz)
  • Description: isteğe bağlı

Create app butonuna tıkla. Karşına kimlik bilgilerin çıkacak:

  • client_id — uygulama adının hemen altında yer alan 14 karakterlik dize (“personal use script” etiketiyle)
  • client_secret — “secret” olarak etiketlenen alan

Ayrıca uygulama oluşturma işlemi tamamlanmadan önce Reddit’in ve koşullarını da kabul etmen gerekir.

Bir not: 2024’ün sonlarından itibaren yeni geliştiricilerin erişim talebi göndermesi ve onay beklemesi gerekebiliyor. İlk kez PRAW kullananlar için en büyük sürtünme noktası bu ve bunun etrafında bir yol yok.

Adım 2: PRAW’ı Kur ve Bir Reddit Nesnesi Oluştur

Terminalini aç ve şunu çalıştır:

1pip install praw pandas

Ardından salt okunur bir Reddit nesnesi oluştur:

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, şifresiz script uygulamalarında varsayılan olarak True'dur

user_agent biçimi önemlidir. Reddit, python-requests/2.x gibi genel ifadeleri aktif biçimde sınırlar. Reddit’in önerdiği formatı kullan: platform:app_id:version (by u/username).

Adım 3: Bir Alt Dizinden Gönderileri Çek

r/python alt dizininde son ayın en popüler gönderilerini alıp pandas DataFrame’ine kaydetmenin yolu şöyledir:

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() yerine .hot(), .new() veya .controversial() kullanabilirsin; time_filter ise "all", "day", "hour", "month", "week" veya "year" değerlerini kabul eder.

Küçük bir uyarı: Reddit, limit değerini ne kadar yükseltirsen yükselt, herhangi bir listelemeyi yaklaşık 1.000 öğeyle sınırlar. Bu sınırlama PRAW’dan değil, Reddit tarafındandır.

Adım 4: Reddit Verisini CSV veya Excel’e Aktar

1df.to_csv("reddit_python_top.csv", index=False)
2df.to_json("reddit_python_top.json", orient="records", lines=True)

PRAW hız limiti yönetimini otomatik yapar — her yanıtta X-Ratelimit-Remaining ve X-Ratelimit-Reset başlıklarını okur ve gerektiğinde istekler arasında uyur. Orta ölçekli kazımada genellikle manuel gecikme eklemen gerekmez.

Python ile Reddit Yorumları Nasıl Kazınır? (Derin İç İçe Tartışma Ağaçları)

Yorum kazıma kısmında çoğu kişi tıkanır.

Reddit yorumları ağaç yapısı olarak tutulur: her yorumun alt yorumları olabilir ve bazı dallar “daha fazla yorum yükle” bağlantılarının arkasında gizlenir. PRAW dünyasında bu gizli dallar MoreComments nesneleriyle temsil edilir.

Zihninde şöyle canlandır:

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")

Gizli Yorumların Hepsini Çekmek İçin replace_more() Kullanımı

replace_more() yöntemi yorum ağacında dolaşır ve her MoreComments yer tutucusunu işaret ettiği gerçek yorumlarla değiştirir:

1submission = reddit.submission(id="abcdef")
2submission.comments.replace_more(limit=10)  # büyük tartışmalar için pratik bir üst sınır
3all_comments = submission.comments.list()   # genişlik öncelikli düz liste

limit=None ayarlanırsa her bir MoreComments düğümü değiştirilir — ancak 5.000+ yorumu olan bir başlıkta bu işlem birkaç dakika sürebilir; çünkü her değiştirme, en fazla yaklaşık 100 yorum döndüren ayrı bir API isteğidir. Büyük başlıklar için limit=10 veya limit=20 ile başlamanı, tam kapsama gerçekten ihtiyacın olduğunda artırmanı öneririm.

İç İçe Yorumları Tabloya Dönüştürme

1rows = []
2for c in all_comments:
3    rows.append({
4        "comment_id": c.id,
5        "parent_id": c.parent_id,   # t1_xxx = üst yorum, t3_xxx = gönderi
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)

Üst seviye yorumlarda parent_id, t3_ ile başlar (gönderinin tam adı). depth sütunu ise her yorumun ne kadar derin iç içe geçtiğini gösterir — filtreleme veya görselleştirme için çok kullanışlıdır. Dikkat edilmesi gereken bir nokta: len(all_comments) değeri genellikle submission.num_comments ile aynı olmaz; çünkü silinen, kaldırılan ve spam filtresine takılan yorumlar ağaç yapısına dâhil edilmez.

Yöntem 2: .json Uç Noktası Hilesi — API Anahtarı Olmadan Reddit Kazıma

Herhangi bir Reddit URL’sinin sonuna .json ekle. Hepsi bu. Yapılandırılmış JSON alırsın — doğrulama yok, uygulama kaydı yok, pip kurulumu yok.

Örnek: https://www.reddit.com/r/python/hot.json

Forum kullanıcıları bu hileyi sürekli anar, ama neredeyse hiçbir eğitim bunu anlatmaz.

Çalışan Bir Python Kod Parçası

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 başlığı kritik önemdedir. Reddit, python-requests/2.31.0 gibi genel user agent’ları engeller veya sınırlar — , “bu hız limiti user-agent’a bağlıdır.” PRAW’dekiyle aynı açıklayıcı formatı kullan.

after Parametresiyle Sayfalama Nasıl Yapılır?

.json uç noktası varsayılan olarak yaklaşık 25 sonuç döndürür (istek başına en fazla 100). Daha fazlası için yanıt içindeki after imlecini kullan:

1import requests, time
2headers = {"User-Agent": "python:reddit-scraper:v1.0 (by /u/yourname)"}
3after = None
4all_posts = []
5for _ in range(10):  # yaklaşık 1000 gönderiye kadar
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 = 6 saniyede bir istek

after değeri bir imleç belirtecidir (format: t3_xxxxxx). PRAW’de olduğu gibi, sayfalı isteklerde toplam üst sınır yaklaşık 1.000 öğedir.

.json Yönteminin Sınırlamaları

  • Derin yorum ağacına erişim yok — üst seviye yorumlar ve bir seviye “more” yer tutucusu alırsın; ancak PRAW’nin replace_more() özelliğindeki gibi otomatik genişletme yoktur
  • Salt okunur — oy verme, gönderi paylaşma veya moderasyon yok
  • Kimlik doğrulamasız trafikte dakikada yaklaşık 10 istek — agresif döngüler 429 hatalarına yol açar
  • Kimlik doğrulamalı API ile aynı 1.000 öğelik liste sınırı

Bu yöntem, hızlı tek seferlik çekimler, prototip oluşturma veya API uygulaması kaydetmek istemediğin durumlar için en uygunudur.

Yöntem 3: BeautifulSoup ile Reddit Nasıl Kazınır? (HTML Ayrıştırma)

Daha önce web kazıma yaptıysan, muhtemelen BeautifulSoup’a aşinasındır. Reddit özelindeki kilit nokta şu: yeni React tabanlı arayüz yerine old.reddit.com kullan. Eski arayüz sunucu tarafında render edilir, daha hafiftir ve ayrıştırması çok daha kolaydır — hâlâ çevrimiçi olduğunu ve kazıyıcılar için uygun olduğunu doğruluyor.

Requests ve BeautifulSoup Kurulumu

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’dan Gönderi Verisi Çekme

old.reddit.com üzerinde her gönderi thing sınıfına sahip bir <div> içinde yer alır. En sağlam seçiciler data-* öznitelikleridir:

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    })

İç içe sınıf seçiciler yerine data-* özniteliklerini tercih et — Reddit yıllar içinde sınıf adlarıyla oynadı, ama veri öznitelikleri şablon temellidir ve nadiren değişir.

old.reddit.com’da Sayfalama Nasıl Yapılır?

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)  # nazik kullanım gecikmesi

BeautifulSoup Ne Zaman PRAW’a Tercih Edilmeli?

BeautifulSoup; DOM kazımayı öğrenmek, bir OAuth uygulaması kaydetmek istememek veya PRAW’nin sunmadığı özel alanlara ihtiyaç duymak için iyi bir seçimdir. Ancak daha kırılgandır — HTML yapısı haber verilmeden değişebilir, IP engelleme 2025’te eskisine göre daha agresiftir ve tüm sayfalama ile hata yönetimini kendin yazman gerekir. Güvenilirlik ve derinlik açısından PRAW öne çıkar.

Yöntem 4: Thunderbit ile Kodsuz Reddit Nasıl Kazınır?

Bir itiraf: "Python ile Reddit nasıl kazınır" diye arayanların büyük bir bölümü aslında Python yazmak istemiyor. Onların istediği şey veri. Eğer sen de onlardansan, bu bölüm senin çıkış kapın.

, tam da bu kullanım senaryosu için geliştirdiğimiz, web sayfalarından kod yazmadan yapılandırılmış veri çıkarmayı sağlayan yapay zekâ destekli bir Chrome eklentisidir.

Adım 1: Thunderbit’i Kur ve Bir Reddit Sayfası Aç

kur, ardından herhangi bir Reddit alt dizi ya da gönderi sayfasına git (örneğin reddit.com/r/python).

API anahtarı yok, Python ortamı yok, terminal komutu yok.

Adım 2: “AI Suggest Fields”e Tıkla ve AI’ın Sayfayı Okumasına İzin Ver

Tarayıcı araç çubuğundaki Thunderbit simgesine tıkla, ardından "AI Suggest Fields" seçeneğini kullan. Thunderbit’in yapay zekâsı sayfayı tarar ve otomatik olarak Post Title, User Name, Upvotes, Comments Count, Date Posted, Post Description, Community Name ve Post URL gibi sütunlar önerir.

İstersen sütunları ekleyebilir, kaldırabilir veya yeniden adlandırabilirsin. Örneğin yalnızca başlık ve puanlarla ilgileniyorsan, diğer alanları silebilirsin.

Adım 3: “Scrape”e Tıkla ve Verini Dışa Aktar

"Scrape" düğmesine bas; Thunderbit veri çekimini yapar ve sayfalama işlemini otomatik yönetir. Tablo dolduktan sonra veriyi doğrudan Excel, Google Sheets, Airtable veya Notion’a aktarabilirsin — CSV kodu yazman gerekmez.

Daha derin veri için Thunderbit’in alt sayfa kazıma özelliği, tek tek başlıkların içine girip tabloyu yorum verileriyle otomatik olarak zenginleştirmeni sağlar. Bu, kavramsal olarak PRAW’nin replace_more() özelliğine benzer — ama tek satır kod yazmadan.

Bonus: Sürekli Reddit Takibi İçin Zamanlanmış Kazıma

Bir alt dizini her gün izlemek istiyorsan — örneğin r/SaaS’ta marka adlarını veya niş bir toplulukta rakip tartışmalarını takip etmek gibi — Thunderbit’in zamanlanmış kazıyıcısı tekrar eden çalışmaları yönetir. Aralığı düz İngilizceyle tarif edersin (ör. “her hafta içi saat 9’da”) ve araç gerisini halleder; güncel veriyi bağlı elektronik tablonuza veya veritabanına teslim eder.

Thunderbit’in Reddit kazıma özellikleri hakkında daha fazla bilgiyi bulabilirsiniz.

Python ile Reddit Kazırken İpuçları ve En İyi Uygulamalar

Bunların çoğunu yaşayarak öğrendim — yukarıda seçtiğin yöntem ne olursa olsun geçerlidir.

Reddit’in Kullanım Koşullarına ve Hız Limitlerine Saygı Göster

Reddit’in belgeleri, yazılı onay olmadan ticari kazımayı açıkça yasaklar — bu kural yalnızca API için değil, tüm erişim yöntemleri için geçerlidir. Kişisel, akademik ve kurum içi araştırma kullanımları için ücretsiz OAuth katmanı ve Thunderbit iş akışları makul kullanım sınırlarındadır.

Hız limiti kısa rehberi:

SenaryoLimitNe Olur?
Kimlik doğrulamalı (OAuth)60–100 istek/dkPRAW bunu otomatik yönetir
Kimlik doğrulamasız (.json, HTML)~10–30 istek/dk429 Too Many Requests
Genel User-AgentAğır biçimde sınırlandırılır403 Forbidden veya sessiz engel

Her zaman açıklayıcı bir User-Agent dizesi belirle. İlk kez kazıma yapanların 429 veya 403 hatası almasının en yaygın nedeni budur.

Verini Temiz ve Düzenli Sakla

  • Öngörülebilir CSV/Excel çıktıları için pandas DataFrame’lerini açık sütun sırasıyla kullan
  • created_utc değerini okunabilir zaman damgalarına çevir: pd.to_datetime(df["created_utc"], unit="s")
  • Birden fazla sıralamada kazıma yapıyorsan id üzerinden yinelenenleri temizle (hot, new ve top genelde çakışır)
  • Silinen yazarları şu şekilde yönet: str(post.author) if post.author else "[deleted]"

Yaygın Hataları Nazikçe Yönet

HataNedenÇözüm
429 Too Many RequestsHız limitini aşma (OAuth için 60–100 istek/dk)Üstel geri çekilme uygulayın; X-Ratelimit-Reset başlığını kontrol edin
403 ForbiddenHatalı User-Agent veya engellenmiş IPBenzersiz, açıklayıcı bir UA dizisi kullanın; OAuth uygulamasının aktif olduğundan emin olun
None authorSilinmiş veya askıya alınmış hesapif post.author else "[deleted]" ile sarın
prawcore.TooManyRequestsPRAW seviyesinde hız limiti tamponu tetiklendiratelimit_seconds değerini artırın veya istekleri daha eşit dağıtın
Büyük ağaçlarda 5xx veya 413Derin başlıklarda Reddit arka ucunun zorlanmasıreplace_more() işlemini yeniden deneme mantığına alın; yineleme derinliğini sınırlayın

Reddit Kazıma Kullanım Alanları: Verilerle Neler Yapabilirsin?

Kazıma yalnızca ilk adımdır. Asıl farkı yaratan şey şudur:

  • Satış ekipleri: r/SaaS, r/smallbusiness veya r/Entrepreneur gibi alt dizinlerde “X yapan bir araç arıyorum” türü gönderileri izle. Eşleşenleri lead listelerine veya CRM iş akışlarına aktar. Günlük izleme için Thunderbit’in zamanlanmış kazıyıcısını kullan.
  • Pazarlama ve içerik ekipleri: Marka adlarını takip et, duygu eğilimlerini analiz et ve trend sorulardan içerik fikirleri çıkar. Ekip içi işbirliği için Reddit dışa aktarmalarını Google Sheets ile birleştir.
  • E-ticaret ve operasyon ekipleri: Rakip ürün tartışmalarındaki tekrar eden şikâyetleri izle. r/BuyItForLife gibi alt dizinler ve sektöre özel topluluklar, ürün geri bildirimi açısından altın madeni gibidir.
  • Araştırmacılar ve analistler: NLP veri setleri oluştur — 2024’te yayımlanan akademik çalışmalar, duygu ve duygu durum sınıflandırması için kadar değişen veri kümeleri kullandı. PRAW ile toplanan veri seti hakemli çalışmalarda referans gösterilebilir.

Sosyal medya verilerini veya hakkında daha derin bilgi istersen, bu iş akışlarını Thunderbit blogunda ayrıntılı olarak anlattık.

Sonuç

2025’te Reddit kazıma, iki yıl öncesine hiç benzemiyor. 2023 API değişiklikleri Pushshift’i devre dışı bıraktı, sevilen üçüncü taraf uygulamaları kapattı ve ücretli katmanları devreye soktu.

Ama ücretsiz katman kişisel ve akademik kullanım için hâlâ canlı ve daha fazla veri alma yöntemi hiç olmadığı kadar fazla.

Her yöntemin tek cümlelik özeti şöyle:

reddit-scraping-methods.webp

İster Python konusunda deneyimli ol ister öğlene kadar tabloya dökmek isteyen biri — bu dört yöntemden biri seni hedefe götürür. Kodu tamamen atlamak istersen, ve Reddit’i birkaç tıkla nasıl yönettiğini görebilirsin. Python kazıma becerilerini geliştirmeye devam etmek istiyorsan, bu rehberi yer imlerine ekle — Reddit dünyası değiştikçe ben de güncel tutacağım.

Web kazıma yaklaşımları hakkında daha fazla bilgi için , ve rehberlerimize göz at.

SSS

Reddit’i Python ile kazımak yasal mı?

Reddit’in belgeleri, yazılı onay olmadan ticari kazımayı yasaklar. Ücretsiz OAuth katmanı kişisel, ticari olmayan ve akademik kullanım için kullanılabilir. Hukuki çerçeve kullanılan kanaldan bağımsızdır — API, .json uç noktası veya HTML kazıma kullanman fark etmez. Ölçekli kazımadan önce Reddit’in güncel koşullarını mutlaka kontrol et.

Reddit’in 2023 API değişikliklerinden sonra PRAW hâlâ çalışıyor mu?

Evet. PRAW 7.8.1 (Ekim 2024) aktif olarak bakımı yapılan bir sürümdür ve içinde otomatik olarak çalışır. 2023 fiyatlandırma değişiklikleri daha çok yüksek hacimli ve ticari API kullanımını etkiledi; tipik PRAW kazıma kalıplarını değil.

API anahtarı olmadan Reddit kazıyabilir miyim?

Evet — .json uç noktası ve BeautifulSoup ile HTML ayrıştırma, API anahtarı olmadan çalışır. de API anahtarı gerektirmez. Bu üç yöntem de ticari kullanım açısından Reddit’in Kullanım Koşullarına tabidir.

Sadece gönderileri değil, Reddit yorumlarını nasıl kazırım?

PRAW ile submission.comments.replace_more(limit=10) kullanıp ardından submission.comments.list() çağırarak iç içe yorum ağacını düz bir listeye dönüştürebilirsin. Thunderbit ile ise alt sayfa kazıma kullanarak her başlıktaki yorum verileriyle gönderi listesini otomatik olarak zenginleştirebilirsin.

Kodsuz olarak Reddit kazımanın en hızlı yolu nedir?

, Reddit gönderi ve yorumlarını iki tıkla kazımana ve doğrudan Excel, Google Sheets, Airtable veya Notion’a aktarmana olanak tanır — Python yok, API anahtarı yok, kurulum gerekmiyor.

Daha Fazla Bilgi

Fawad Khan
Fawad Khan
Fawad writes for a living, and honestly, he kind of loves it. He's spent years figuring out what makes a line of copy stick — and what makes readers scroll past. Ask him about marketing, and he'll talk for hours. Ask him about carbonara, and he'll talk longer.
İçindekiler

Thunderbit’i dene

Lead’leri ve diğer verileri sadece 2 tıkla topla. Yapay zekâ destekli.

Thunderbit’i Al Ücretsiz
Yapay Zekâ ile Veri Çıkar
Verileri kolayca Google Sheets, Airtable veya Notion’a aktar
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week