İçeriğe geç

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