SDK'lar
TypeScript, Python ve Go için SDK'lar
Her uç nokta için tipli istemciler: rota başına bir metot, tipli parametreler, geçici hatalarda yeniden deneme, sayfalama yardımcıları ve anlaşılır hatalar.
Henüz yayınlanmadı
Paketler hazır ve kısa süre içinde npm, PyPI, Go modülleri ve Homebrew'de yayınlanacak. O zamana kadar HTTP API'yi doğrudan çağırın: her uç nokta sayfasında cURL, Python ve Node.js örnekleri var.
01Kurulum
npm install scrapesocial # or: pnpm add scrapesocial
02Hızlı başlangıç
Her rota client.<platform>.<eylem> şeklindedir; platform ve eylem adları bu dokümandakilerle aynıdır. Her uç nokta sayfası kendi çağrısını her SDK'da gösterir.
import { ScrapeSocial } from 'scrapesocial';
const client = new ScrapeSocial({ apiKey: process.env.SCRAPESOCIAL_API_KEY });
const profile = await client.instagram.profile({ handle: 'nasa' });
console.log(profile.credits_charged, profile.credits_remaining);
const channel = await client.youtube.channel({ handle: 'NASA' });03Hatalar ve yeniden denemeler
Başarısız bir çağrı, HTTP durumu, hata kodu ve API'nin mesajıyla tipli bir hata fırlatır; bunun için ücret alınmaz. Geçici hatalar (503, 429, ağ hataları) size ulaşmadan önce artan beklemelerle yeniden denenir.
import { ForbiddenError, NotFoundError } from 'scrapesocial';
try {
await client.instagram.userPosts({ handle: 'someone' });
} catch (error) {
if (error instanceof NotFoundError) console.log('no such account');
else if (error instanceof ForbiddenError) console.log('private account');
else throw error;
}04Sayfalama
Liste rotaları sonraki sayfa için bir cursor döndürür. Onu kendiniz geri gönderin ya da sayfalama yardımcısının takip etmesine izin verin.
for await (const page of client.instagram.userPostsPages({ handle: 'nasa' }, { maxPages: 5 })) {
for (const post of page.items ?? []) console.log(post);
}