jsonscraper

TikTok Scraper API: jsonscraper ile video verileri JSON olarak nasıl alınır

getVideoByID rotasıyla pratik başlangıç, JSON doğrulama ve cURL ile Python’da anahtar işleme.

Uygulamanızın belirli bir TikTok videosu hakkında bilgiye ihtiyacı varsa, tek bir istekle başlayıp hangi verileri döndürdüğünü kontrol etmek en kolayıdır. Ardından yanıt doğrulanarak depolama veya analiz için hazırlanabilir.

jsonscraper TikTok Scraper API sayfasında videolar, kullanıcılar, arama, hashtag’ler, müzik ve diğer veri türleri için rotalar listeleniyor. Aşağıda belgelenmiş getVideoByID isteğini ve yanıtını güvenli biçimde işleme yöntemlerini ele alacağız. Örnekler sağlayıcının materyallerine dayanıyor; kullanmadan önce geçerli bir anahtarla ve güncel belgelerle doğrulayın.

İlk istek: video bilgilerini alma

Kahve dükkânında kod ve bitki bulunan dizüstü bilgisayar
James Harrison

Postman’daki getVideoByID belgelerinde GET yöntemi ve video_id parametresi belirtiliyor. Örnekte ayrıca region ve cache_timeout da gösteriliyor. Hizmet sayfasında yayımlanan temel adres https://tiktok.evelode.com.

cURL ile örnek istek:

export JSONSCRAPER_LICENSE_KEY="anahtarınız"

curl --get "https://tiktok.evelode.com/getVideoByID" \
  --data-urlencode "video_id=7106855913906081070" \
  --data-urlencode "license_key=$JSONSCRAPER_LICENSE_KEY" \
  --data-urlencode "region=US"

Örnekteki ID, yayımlanmış istekten alınmıştır. Kontrol etmek istediğiniz videonun ID’siyle değiştirin. Anahtarı bir ortam değişkeninde veya sır yöneticisinde saklayın: herkese açık bir depoya, istemci tarafındaki JavaScript’e ya da günlüklere eklemeyin.

Postman, region parametresini bir bölge kodu olarak tanımlıyor ve varsayılan değer olarak US belirtiyor. cache_timeout için belgelerde varsayılan önbelleğe alma süresi 3600 saniye olarak belirtilmiş; 0 değeri önbelleğe almayı devre dışı bırakıyor. Bu parametre senaryonuz için gerekliyse açıkça iletebilirsiniz:

curl --get "https://tiktok.evelode.com/getVideoByID" \
  --data-urlencode "video_id=7106855913906081070" \
  --data-urlencode "license_key=$JSONSCRAPER_LICENSE_KEY" \
  --data-urlencode "region=US" \
  --data-urlencode "cache_timeout=0"

Bu, rota için yayımlanmış parametrelerin uyarlanmış bir örneğidir; tüm yanıtların aynı yapıda olacağının veya önbelleğe almayı devre dışı bırakmanın her görev için uygun olduğunun garantisi değildir. Uygulamaya almadan önce kimlik doğrulamayı ve parametreleri güncel koleksiyonda kontrol edin: Postman anahtarı yapılandırılmış bir API Key üzerinden iletebilirken yukarıdaki cURL örneğinde anahtar URL parametresi olarak gösteriliyor.

Aynı isteği Python ile yapma

Aşağıda Python standart kitaplığını kullanan bir seçenek var. GET isteğini oluşturur, parametreleri iletir ve ağ hatalarını, HTTP hatalarını ve geçersiz JSON’u işler.

import json
import os
from urllib.error import HTTPError, URLError
from urllib.parse import urlencode
from urllib.request import Request, urlopen

base_url = "https://tiktok.evelode.com/getVideoByID"
license_key = os.environ.get("JSONSCRAPER_LICENSE_KEY")

if not license_key:
    raise RuntimeError("JSONSCRAPER_LICENSE_KEY ortam değişkenini ayarlayın")

params = {
    "video_id": "7106855913906081070",
    "license_key": license_key,
    "region": "US",
}

url = f"{base_url}?{urlencode(params)}"
request = Request(url, method="GET")

try:
    with urlopen(request, timeout=30) as response:
        status_code = response.status
        payload = json.loads(response.read().decode("utf-8"))
except HTTPError as error:
    print(f"HTTP hatası: {error.code}")
    raise
except URLError as error:
    print(f"Ağ hatası: {error.reason}")
    raise
except json.JSONDecodeError:
    raise RuntimeError("Hizmet yanıtı JSON olarak çözümlenemedi")

print("HTTP durumu:", status_code)
print("En üst düzey anahtarlar:", list(payload.keys()))

Bu, belgelenmiş isteğin uyarlanmış bir örneğidir; sağlayıcının Python için ayrıca test ettiği bir örnek değildir. Ayrıca hizmetin olası tüm yanıtlarını açıklamaz. Anahtar URL üzerinden iletildiği için tam URL’yi günlüklere yazdırmayın: URL içinde gizli bir bilgi bulunabilir.

JSON yanıtını doğrulama

Postman’da yayımlanan yanıtta status alanı ve video ile içerik üreticisinin verilerini içeren iç içe tiktok.aweme_detail nesnesi bulunuyor. Bu, tek bir yanıtın örnek biçimidir; şemanın değişmeden kalacağının garantisi değildir. getVideoByID yanıt örneğini inceleyebilirsiniz.

İç içe alanları okurken her düzeyi kontrol edin:

def get_video_details(payload):
    tiktok = payload.get("tiktok")
    if not isinstance(tiktok, dict):
        return None

    details = tiktok.get("aweme_detail")
    if not isinstance(details, dict):
        return None

    return details

details = get_video_details(payload)

if details is None:
    print("Yanıtta beklenen video verisi nesnesi yok")
else:
    video_id = details.get("id")
    description = details.get("desc")
    author = details.get("author")

    print("ID:", video_id)
    print("Açıklama:", description)
    print("Yazar:", author)

Alan adları yayımlanmış örnekten alınmıştır. .get() ile yapılan kontrol, alanların zorunlu olduğu anlamına gelmez; beklenen değerlerin bulunmadığı bir yanıtı işlemenizi sağlar. Uygulama mantığınız belirli bir alana bağlıysa, kendi senaryonuz için alınan yanıtlarda alanın bulunduğunu doğrulayın ve alan olmadığında ne yapılacağını belirleyin.

Üç kontrolü birbirinden ayırmak yararlıdır:

  1. Aktarım: HTTP yanıtı alındı mı ve durum kodu nedir?
  2. Biçim: Yanıt gövdesi JSON olarak çözümlenebildi mi?
  3. İçerik: Uygulamanın ihtiyaç duyduğu veriler mevcut mu?

JSON’un başarıyla çözümlenmesi, yanıtta gerekli nesnenin bulunduğu anlamına gelmez. Sorun giderme için teknik hataları ve kontrollerin sonuçlarını kaydedin; anahtarları maskeleyin.

Tek bir istekten çalışan bir işlem hattına

Speedcurve Performans Analitiği
Luke Chesser

Bir prototip için isteği gönderip birkaç değeri yazdırmak yeterlidir. Düzenli işleme için süreci aşamalara ayırın:

İstek → doğrulama → normalleştirme → tekilleştirme → depolama.

  • İstek. Belgelenmiş rotadan yanıt alın ve teknik durumu ayrıca kaydedin.
  • Doğrulama. Gövdenin JSON olarak çözümlendiğini ve belirli görevin gerektirdiği verileri içerdiğini doğrulayın.
  • Normalleştirme. Gerekli değerleri kendi veri modelinize aktarın. Uygulamanız yalnızca belirli alanlara ihtiyaç duyuyorsa, iç içe yapının tamamını veritabanına taşımayın.
  • Tekilleştirme. Mevcut olduğunu ve görevinize uygun olduğunu doğruladıktan sonra bir tanımlayıcı seçin. Bunun tüm yanıtlarda her zaman bulunacağını varsaymayın.
  • Depolama. Gerekirse istek zamanını ve ham yanıtı normalleştirilmiş kayıttan ayrı saklayın. Bu, uygulamanın hangi değişiklikleri yaptığını anlamaya yardımcı olur.

Bunlar uygulama tasarımıyla ilgili önerilerdir; hizmete atfedilmemesi gereken özelliklerdir. Harici yanıtı dahili modelden ayırmak, değişiklikleri ele almayı da kolaylaştırır: sorunlar kodun her yerinde değil, doğrulama veya normalleştirme aşamasında aranabilir.

Tekrarlanan istekler için verilerin ne zaman yenileneceğini ve hangi hataların yeniden denenmeye değer olduğunu önceden belirleyin. Yeniden deneme sayısını sınırlayın: sonsuz döngü, yanlış bir parametreyi veya kimlik doğrulama sorununu çözmez.

Önbelleğe alma ve bölge

getVideoByID rotasının açıklamasında cache_timeout parametresi önbelleğe alma süresini saniye cinsinden belirliyor: varsayılan değer 3600 saniye olarak belirtiliyor ve 0 önbelleğe almayı devre dışı bırakıyor. region parametresi ülke kodu olarak açıklanıyor; belgelerde US örneği veriliyor. Uygulamaya almadan önce bu bilgileri güncel Postman istek belgelerinde doğrulayın.

Bir önbellek ayarının bulunması, belirli bir yanıtın güncel olduğunu kanıtlamaz. Güncellik önemliyse kendi senaryonuzdaki verilerle yinelenen isteklerin sonuçlarını kontrol edin ve uygun davranışı seçin.

Sonrasında incelenebilecek görevler

Ürün sayfasında video ve kullanıcı arama, hashtag’ler, konumlar, müzik ve trendler için rotalar listeleniyor. Örnekler arasında searchVideo, searchHashtag, getUserFeed ve getTrendingFeed yer alıyor. Bu, sağlayıcının yayımladığı rota listesidir; her birinin bağımsız olarak doğrulandığı anlamına gelmez. Parametreleri ve yanıt biçimini ilgili rotanın belgelerinde inceleyin: getVideoByID örneğinden bunları otomatik olarak genelleyemezsiniz.

jsonscraper, anahtarı yapılandırmak ve istekleri çalıştırmak için Postman koleksiyonunu kullanmayı öneriyor. Bu, entegrasyon yazmadan önce tek bir rotayı denemenin kullanışlı bir yolu olabilir. Hizmet ayrıca otomasyon senaryolarını da listeliyor; ancak belirli bir iş akışının uyumluluğunu kendi yapılandırmanızda ayrıca doğrulayın. Koleksiyonu dışa aktarırken veya paylaşırken içinde çalışan bir anahtar kalmadığından emin olun.

Uygulamada kullanmadan önce kontrol edilecekler

İsteği düzenli bir sürece eklemeden önce, proje için gereken video ve parametrelerle test edin:

  • İstek geçerli bir anahtar ve doğru bir ID ile çalışıyor mu?
  • Uygulama yanlış veya eksik bir parametreyi nasıl işliyor?
  • JSON geçerli olduğu hâlde gerekli alan bulunmazsa ne oluyor?
  • HTTP hatası, ağ kesintisi ve zaman aşımı nasıl işleniyor?
  • Görevinizde tanımlama ve tekilleştirme için hangi alanlar uygun?
  • Bu parametreyi kullanıyorsanız farklı cache_timeout değerlerinde yinelenen isteğin sonucu nasıl değişiyor?

Kontrol tarihini, gizli bilgi içermeyen parametreleri ve anonimleştirilmiş bir yanıt örneğini kaydedin. Başarılı tek bir istek, yalnızca belirli koşullardaki belirli senaryonun çalıştığını doğrular; tüm rotaların ve yanıtların kararlı olduğunu kanıtlamaz.

Tekrarlanabilir tek bir senaryoyla başlayın

getVideoByID rotasını gereken bir videoda deneyin, gerçek JSON’u inceleyin ve eksik alanları ve hataları hesaba katan bir işleyici yazın. Ardından gerekirse süreci normalleştirme, tekilleştirme ve depolama adımlarıyla genişletin.

jsonscraper belgeleri başlangıç noktası olarak temel adresi ve rota listesini sunuyor. Üretim kodunda yine de belirli yanıtı doğrulamak, anahtarı korumak ve verilerin beklenen yapıdan farklı olduğu durumları hesaba katmak gerekir.

İlgili yazılar

Security · Rehber

Unutulan API anahtarları: hizmeti durdurmadan nasıl iptal edilir

OpenRouter, 85 çalışanının 1.000’den fazla etkin anahtarı olduğunu bildirdi; bu, şirketin kendi denetimidir, sektör çapında bir ölçüm değildir. Sahipleri ve bağımlılıkları nasıl doğrulayacağınızı, anahtarları nasıl döndüreceğinizi ve anahtar yönetimi araçlarının sınırlarını nasıl anlayacağınızı inceliyoruz.

Community Pulse · Rehber

Claude Code ve Codex: Markayı değil, işinizi karşılaştırın

Geliştiricilerin Claude Code ve Codex hakkındaki görüşleri farklılık gösteriyor; PR araştırması da evrensel bir kazanana işaret etmiyor. Araçları karşılaştırmanın pratik yolu, onları gerçekten çalıştığınız görevlerde ve ortamda denemektir.

Okuduklarınızı çalışan bir entegrasyona dönüştürün

jsonscraper sosyal veri API'lerini keşfedin, istekleri test edin ve sonraki iş akışınızı oluşturun.

API'leri Keşfet