4167b506aaaa6d7c9302692c6a521b5dec3614fa
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'ioptions(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'ioptions(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
Description
Languages
JavaScript
100%