# 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 ```bash npm install metascraper ``` ## 💻 Kullanım ### Film Meta Verisi ```javascript 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 ```javascript 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 ```javascript 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:** ```typescript { 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:** ```typescript { 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 ```bash npm test ``` ## 🎮 Demo ```bash npm run demo ``` ## 📦 Gereksinimler - Node.js 18+ - cheerio (otomatik) - playwright (isteğe bağlı, headless mode için) ## 📄 Lisans MIT