Files
metascraper/README.md

5.2 KiB
Raw Blame History

metascraper

Netflix ve Amazon Prime Video URL'lerinden film ve dizi meta verilerini (başlık, yıl, sezon bilgisi, thumbnail görseli) çıkaran modern Node.js kütüphanesi.

🚀 Kurulum

npm install metascraper

💻 Kullanım

Film Meta Verisi

import { scraperNetflix } from 'metascraper';

const movie = await scraperNetflix('https://www.netflix.com/tr/title/82123114');
console.log(movie);
// {
//   "url": "https://www.netflix.com/title/82123114",
//   "id": "82123114",
//   "name": "ONE SHOT with Ed Sheeran",
//   "year": "2025",
//   "seasons": null,
//   "thumbnail": "https://occ-0-7335-778.1.nflxso.net/dnm/api/v6/6AYY37jfdO6hpXcMjf9Yu5cnmO0/AAAABSkrIGPSyEfSWYQzc8rEFo6EtVV6Ls8WtPpNwR42MSKSNPNomZWV5P_l2MxGuJEkoPm71UT_eBK_SsTEH8pRslQr0sjpdhVHjxh4.jpg",
//   "info": "Ed Sheeran, matematiğin mucizevi gücünü ve müziğin birleştirici gücünü sergileyen benzersiz bir performansla sahneye çıkıyor.",
//   "genre": "Belgesel"
// }

Dizi Meta Verisi

import { scraperNetflix } from 'metascraper';

const series = await scraperNetflix('https://www.netflix.com/tr/title/80189685');
console.log(series);
// {
//   "url": "https://www.netflix.com/title/80189685",
//   "id": "80189685",
//   "name": "The Witcher",
//   "year": "2025",
//   "seasons": "4 Sezon",
//   "thumbnail": "https://occ-0-7335-778.1.nflxso.net/dnm/api/v6/6AYY37jfdO6hpXcMjf9Yu5cnmO0/AAAABSkrIGPSyEfSWYQzc8rEFo6EtVV6Ls8WtPpNwR42MSKSNPNomZWV5P_l2MxGuJEkoPm71UT_eBK_SsTEH8pRslQr0sjpdhVHjxh4.jpg",
//   "info": "Mutasyona uğramış bir canavar avcısı olan Rivyalı Geralt, insanların çoğunlukla yaratıklardan daha uğursuz olduğu, karmaşa içindeki bir dünyada kaderine doğru yol alıyor.",
//   "genre": "Aksiyon"
// }

Amazon Prime Video Meta Verisi

import { scraperPrime } from 'metascraper';

const movie = await scraperPrime('https://www.primevideo.com/-/tr/detail/0NHIN3TGAI9L7VZ45RS52RHUPL/ref=share_ios_movie');
console.log(movie);
// {
//   "url": "https://www.primevideo.com/detail/0NHIN3TGAI9L7VZ45RS52RHUPL",
//   "id": "0NHIN3TGAI9L7VZ45RS52RHUPL",
//   "name": "Little Women",
//   "year": "2020",
//   "seasons": null,
//   "thumbnail": "https://m.media-amazon.com/images/S/pv-target-images/c1b08ebea5ba29c47145c623e7d1c586290221ec12fa93850029e581f54049c4.jpg",
//   "info": "In the years after the Civil War, Jo March lives in New York and makes her living as a writer, while her sister Amy studies painting in Paris.",
//   "genre": "Dram"
// }

URL Normalizasyonu

URL normalizasyonu artık scraperNetflix ve scraperPrime fonksiyonları içinde otomatik olarak yapılır.

Özellikler

  • Çoklu Platform Desteği - Netflix ve Amazon Prime Video scraping
  • Film ve Dizi Destekli - Her tür içerik için meta veri
  • Thumbnail Görselleri - Otomatik afiş/poster görselleri çıkarır
  • Film/Dizi Açıklamaları - İçerik özet bilgilerini (info) çıkarır
  • Tür Bilgisi - Türkçe ve İngilizce tür normalizasyonu
  • Türkçe Arayüz Temizleme - "izlemenizi bekliyor" gibi metinleri temizler
  • JSON-LD Tabanlı - Platformların yapısal verilerini kullanır
  • Hızlı ve Güvenilir - Statik HTML scraping + Playwright fallback
  • Node.js 18+ Uyumlu - Modern JavaScript özellikleri
  • Türkiye Odaklı - Netflix Türkiye ve Prime Video URL'leri optimize edilmiş

🔧 API

scraperNetflix(url, options)

Netflix URL'sinden meta veri çeker. URL normalizasyonu otomatik olarak yapılır.

Parametreler:

  • url (string): Netflix URL'i
  • options (object, isteğe bağlı):
    • headless (boolean): Headless mode (default: false)
    • timeoutMs (number): Timeout süresi (default: 15000)
    • userAgent (string): Özel User-Agent

Dönen Veri:

{
  url: string,           // Temizlenmiş URL
  id: string,            // Netflix ID
  name: string,          // İçerik adı
  year: string | number, // Yılı
  seasons: string | null, // Sezon bilgisi (diziler için)
  thumbnail: string | null, // Afiş/poster görseli URL'si
  info: string | null,   // Film/dizi açıklaması
  genre: string | null   // Tür bilgisi (Türkçe)
}

scraperPrime(url, options)

Amazon Prime Video URL'sinden meta veri çeker. URL normalizasyonu otomatik olarak yapılır.

Parametreler:

  • url (string): Amazon Prime Video URL'i
  • options (object, isteğe bağlı):
    • headless (boolean): Headless mode (default: false)
    • timeoutMs (number): Timeout süresi (default: 15000)
    • userAgent (string): Özel User-Agent

Dönen Veri:

{
  url: string,           // Temizlenmiş URL
  id: string,            // Prime Video ID
  name: string,          // İçerik adı
  year: string | number, // Yılı
  seasons: string | null, // Sezon bilgisi (diziler için, filmler için null)
  thumbnail: string | null, // Afiş/poster görseli URL'si
  info: string | null,   // Film/dizi açıklaması
  genre: string | null   // Tür bilgisi (Türkçe normalize edilmiş)
}

🧪 Testler

npm test

🎮 Demo

npm run demo

📦 Gereksinimler

  • Node.js 18+
  • cheerio (otomatik)
  • playwright (isteğe bağlı, headless mode için)

📄 Lisans

MIT