Reddit Data Stream

Ubah satu halaman arsip menjadi berkas JSONL lokal

Ambil halaman ketiga apacheairflow dengan GET terbatas. Ubah respons arsip historis menjadi JSONL lokal dan catat hasil panggilan, penulisan, serta pemuatan ETL secara terpisah.

Dapatkan kunci API

Contoh permintaan

cURL

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

Halaman historis, bukan aliran langsung

Reddit Data Stream adalah arsip historis Reddit independen, bukan layanan resmi atau mitra Reddit. Tidak tersedia aliran langsung, umpan perubahan, SSE, WebSocket, OAuth, pembuatan postingan, pemungutan suara, atau pesan pribadi. Pekerjaan ETL mengirim GET terpisah untuk halaman yang dibutuhkan. Penjadwalan berkala tidak membuat kejadian Reddit terbaru langsung masuk atau membuktikan jadwal pembaruan arsip. Pembuatan berkas lokal merupakan pekerjaan pipeline Anda sendiri; API tidak menyediakan ekspor JSONL siap pakai atau sambungan data berkelanjutan. Catat cakupan setiap permintaan sebagai pengambilan historis terbatas.

Contoh GET adalah https://api.redditdatastream.com/v1/posts?subreddit=apacheairflow&limit=3&page=3. subreddit memilih komunitas, limit jumlah maksimum, dan page halaman ketiga. Halaman ketiga atau tiga postingan tidak dijamin. Nomor halaman bukan periode berikutnya atau kursor kelanjutan yang tetap. Authorization: Bearer YOUR_API_KEY dan X-API-Key: YOUR_API_KEY valid untuk kunci arsip domain ini, bukan token OAuth Reddit. Ganti penanda pada server; jangan menerbitkan kunci dalam berkas, kode, atau log. Contoh ini menunjukkan bentuk permintaan, bukan respons nyata atau janji bahwa semua kondisi tersebut memiliki hasil.

Pisahkan pengambilan, konversi, dan pemuatan

Setelah menerima JSON yang berhasil, periksa objek rekaman yang dikembalikan lalu gunakan pengode JSON pada kode sendiri. Tulis setiap objek pada satu baris, diikuti pemisah baris, untuk membuat JSONL lokal. Biarkan pengode menangani baris baru di dalam teks; jangan menulis pembungkus respons seolah setiap bagiannya adalah rekaman. Pertahankan hanya bidang yang benar-benar tersedia. Menulis berkas sementara, memeriksa keterbacaannya, lalu meneruskannya ke tahap pemuatan adalah pilihan desain klien. API tidak membuat berkas ini atau mengonfirmasi bahwa penulisannya telah selesai.

Respons berisi rekaman datar. Pengelompokan parent_id dan link_id bersifat pilihan untuk analisis hubungan; membaca atau menghitung tidak memerlukan pohon dan induk yang hilang tidak dipulihkan. Urutan dokumen bukan waktu, relevansi, atau skor. min_score hanya ambang skor minimum. Batasnya 100 rekaman per permintaan dan 100 halaman per kueri. Iterasi halaman, pembagian tanggal, dan deduplikasi tidak membuktikan pengambilan lengkap atau unik. eq menunjukkan total tepat, gte batas bawah, unknown atau null total tepercaya yang tidak diketahui. Total tepat pun tidak membuktikan penyimpanan seluruh rekaman.

Status pekerjaan dan biaya

Catat kondisi, halaman, waktu, hasil HTTP, penulisan lokal, dan pemuatan tujuan secara terpisah. Catatan ini hanya kemajuan klien, bukan jaminan melanjutkan tanpa kehilangan, snapshot tetap, atau pengiriman tepat satu kali. Hitungan komunitas bukan inventaris global yang pasti. Pengambilan berhasil termasuk kosong memakai satu kredit; 1.000 keberhasilan berharga $1 dan minimum $50 menghasilkan 50.000 kredit berbayar. Tidak ada langganan dan kredit berbayar tidak kedaluwarsa. Uji coba 100 kredit bergantung pada kelayakan pencegahan penyalahgunaan jaringan. Akun, kunci, dan saldo khusus domain ini.

Permintaan tidak valid tidak didebit; kegagalan sistem hulu mengembalikan cadangan. Server dapat berhasil sebelum respons hilang, sehingga pengulangan berhasil dikenai kredit lagi. 400 untuk parameter, 401 kunci, 402 saldo, dan 429 laju perlu diperiksa. Baca saja tidak menjamin respons identik atau pengulangan gratis. /v1/status publik tanpa biaya hanya menunjukkan cakupan statis dan respons HTTP, bukan pencarian, rekaman, kunci, atau saldo. Kelengkapan, ketetapan, penyimpanan selamanya, kinerja, dan ketersediaan terus-menerus tidak dijamin. Cookie sesi Secure HttpOnly panel terpisah dari header pengambilan; status login juga bukan bukti pekerjaan telah tersimpan.