# YouTube Transcript RSS Feed Generator YouTube video transkriptlerini otomatik olarak çıkarıp, tam metin içeren RSS feed'ine dönüştüren Docker tabanlı sistem. ## Özellikler - ✅ **RSS-Bridge benzeri URL template** - Kanal adı/linki ile direkt feed - ✅ **Web Server Modu** - Flask ile RESTful API - ✅ RSS-Bridge entegrasyonu (100+ video desteği) - ✅ Async rate limiting (AIOLimiter) - ✅ SpaCy ile Sentence Boundary Detection - ✅ SQLite veritabanı (durum yönetimi) - ✅ Full-text RSS feed (``) - ✅ Channel handle → Channel ID otomatik dönüştürme - ✅ Atom ve RSS format desteği ## Hızlı Başlangıç ### Docker ile Web Server Modu (Önerilen) ```bash # Build docker-compose build # Web server'ı başlat (port 5000) docker-compose up -d # Logları izle docker-compose logs -f ``` ### URL Template Kullanımı RSS-Bridge benzeri URL template sistemi: ``` # Channel ID ile http://localhost:5000/?channel_id=UC9h8BDcXwkhZtnqoQJ7PggA&format=Atom # Channel Handle ile http://localhost:5000/?channel=@tavakfi&format=Atom # Channel URL ile http://localhost:5000/?channel_url=https://www.youtube.com/@tavakfi&format=Atom # RSS formatı http://localhost:5000/?channel=@tavakfi&format=Rss # Maksimum video sayısı http://localhost:5000/?channel=@tavakfi&format=Atom&max_items=100 ``` ### Batch Mode (Manuel Çalıştırma) ```bash # Tek seferlik çalıştırma docker-compose run --rm yttranscriptrss python main.py ``` ### Yerel Geliştirme ```bash # Virtual environment oluştur python -m venv venv source venv/bin/activate # Linux/Mac # veya venv\Scripts\activate # Windows # Bağımlılıkları kur pip install -r requirements.txt # SpaCy modelini indir python -m spacy download en_core_web_sm # Çalıştır python main.py ``` ## Yapılandırma `config/config.yaml` dosyasını düzenleyin: ```yaml channel: id: "UC9h8BDcXwkhZtnqoQJ7PggA" # veya handle: "@username" name: "Channel Name" language: "tr" rss_bridge: base_url: "https://rss-bridge.org/bridge01" format: "Atom" max_items: 100 ``` ## Proje Yapısı ``` yttranscriptrss/ ├── src/ │ ├── database.py # SQLite yönetimi │ ├── video_fetcher.py # RSS-Bridge entegrasyonu │ ├── transcript_extractor.py # Transcript çıkarımı │ ├── transcript_cleaner.py # NLP ve temizleme │ └── rss_generator.py # RSS feed oluşturma ├── config/ │ └── config.yaml # Yapılandırma ├── data/ │ └── videos.db # SQLite veritabanı ├── output/ │ └── transcript_feed.xml # RSS feed çıktısı ├── Dockerfile ├── docker-compose.yml └── main.py ``` ## Geliştirme Planı Detaylı geliştirme planı için `development_plan.md` dosyasına bakın. ## Lisans MIT