salvacybersec abe170a1f8 first commit
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00
2025-11-13 03:25:21 +03:00

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 (<content:encoded>)
  • 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)

# 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)

# Tek seferlik çalıştırma
docker-compose run --rm yttranscriptrss python main.py

Yerel Geliştirme

# 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:

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

Description
No description provided
Readme 3.9 MiB
Languages
Python 94.7%
Shell 4.7%
Dockerfile 0.6%