Reddit Data Stream

Bir arşiv sayfasını yerel JSONL dosyasına dönüştürün

apacheairflow topluluğunun üçüncü sayfasını sınırlı GET isteğiyle alın. Geçmiş arşiv yanıtını yerel JSONL dosyasına dönüştürürken çağrı, yazma ve ETL yükleme sonuçlarını ayrı takip edin.

API anahtarı al

İstek örneği

cURL

curl --fail-with-body -H "Authorization: Bearer YOUR_API_KEY" "https://api.redditdatastream.com/v1/posts?subreddit=apacheairflow&limit=3&page=3"

Geçmiş sayfa, canlı veri hattı değil

Reddit Data Stream bağımsız bir geçmiş Reddit arşividir; Reddit’in resmî veya bağlantılı hizmeti değildir. Canlı akış, değişiklik akışı, SSE, WebSocket, OAuth, gönderi oluşturma, oylama ve mesajlaşma sunmaz. ETL işi, gereken sayfa için ayrı GET isteği gönderir. Zamanlayıcıyla düzenli çalıştırılması yeni Reddit olaylarının anında geldiğini veya arşivin güncelleme takvimini göstermez. Yerel dosya üretmek kendi işlem hattınızın görevidir; API’nin hazır JSONL dışa aktarımı ya da sürekli akış bağlantısı sunduğu anlamına gelmez.

Örnek istek https://api.redditdatastream.com/v1/posts?subreddit=apacheairflow&limit=3&page=3 adresine gönderilen GET isteğidir. subreddit topluluğu, limit azami kayıt sayısını, page üçüncü sayfayı belirtir. Üçüncü sayfa veya üç gönderi garanti edilmez; sayfa numarası sonraki zaman dilimi ya da kalıcı devam imleci değildir. Authorization: Bearer YOUR_API_KEY ve X-API-Key: YOUR_API_KEY geçerlidir. Bu alan adının arşiv anahtarı kullanılır, Reddit OAuth belirteci değil. Yer tutucuyu sunucuda gerçek değerle değiştirin; anahtarı dosya, kaynak kodu veya günlüklerde yayımlamayın.

Alma, dönüştürme ve yüklemeyi ayırın

Başarılı JSON yanıtını inceleyip dönen kayıt nesnelerini kendi kodunuzda JSON olarak kodlayabilirsiniz. Her nesneyi tek satıra yazıp ardından satır sonu eklemek yerel JSONL üretir. Metnin içindeki satır sonlarını elle birleştirmek yerine JSON kodlayıcısı kullanın; yanıt zarfını her kayıt gibi yazmayın. Dosyada yalnızca gerçekten dönen alanları koruyun. Önce geçici yerel dosyaya yazıp okunabildiğini denetlemek, sonra yükleme aşamasına geçirmek bir istemci tasarım tercihidir. API bu dosyayı oluşturmaz veya yazma işleminin başarıyla tamamlandığını doğrulamaz.

API yanıtları, sunucu tarafında bir ağaç yapısı olarak birleştirilmemiş düz kayıtlar şeklindedir. İstekleriniz sonucunda elde edilen veri setleri içinde üst öğe ve bağlantı alanları yer alabilir ancak bu, sunucunun tam bir sohbet zinciri oluşturduğu anlamına gelmez. İstemci yazılımlarınız, bu alanları kullanarak yerel olarak gruplandırma işlemini gerçekleştirebilir ve veri akışını kendi ihtiyaçlarına göre şekillendirebilir. İlişki analizi için gruplama isteğe bağlıdır; sadece okumak veya saymak için ağaç gerekmez ve eksik ebeveynler geri gelmez. Belge sırası zaman, ilgi veya puan sırası değildir. min_score minimum puan filtresidir. İstek başına 100 kayıt, sorgu başına 100 sayfa sınırı vardır; sayfa döngüsü, tarih bölme ve tekrar ayıklama tam veya tekrarsız çıkarımı kanıtlamaz.

İş durumu ve maliyet

Her çağrının koşullarını, sayfasını, zamanını, HTTP sonucunu, yerel yazma ve hedefe yükleme sonucunu ayrı kaydedebilirsiniz. Bu kayıt yalnızca istemci ilerlemesidir; kayıpsız devam, sabit anlık görüntü veya tam bir kez teslim garantisi değildir. eq kesin kayıt toplamı, gte alt sınır, unknown veya null güvenilir toplamın bilinmediğidir. Kesin sayı da tüm kayıtları sakladığınızı göstermez; topluluk sayımları kesin küresel envanter değildir. Başarılı çekme boş sonuç dahil bir kredidir; 1.000 başarı $1, minimum $50 yükleme 50.000 ücretli kredidir.

Abonelik yoktur ve ücretli krediler sona ermez. 100 deneme kredisi ağ genelindeki kötüye kullanım önleme uygunluğuna bağlıdır; hesap, anahtar ve bakiye alan adına özeldir. Geçersiz istekler kredi düşürmez, üst sistem hataları rezervasyonları geri verir. Yanıt kaybından önce sunucu başarılı olabilir; başarılı tekrar ayrıca kredi tüketebilir. 400 parametre, 401 anahtar, 402 bakiye, 429 sıklık kontrolüdür. /v1/status açık ve ücretsizdir ama statik kapsam ve HTTP yanıtı dışında arama, kayıt, anahtar veya bakiye testi değildir. Kalıcılık, değişmezlik, tam kapsam, performans ve sürekli erişim garanti edilmez.