docs
This commit is contained in:
@@ -84,9 +84,23 @@ YouTube video transkriptlerini otomatik olarak çıkarıp, tam metin içeren RSS
|
||||
- **Retry-After Header**: 429 hatalarında `Retry-After` header'ını kullanma
|
||||
- Dinamik bekleme süresi (statik delay yerine)
|
||||
- Exponential backoff mekanizması
|
||||
- **FlareSolverr Desteği**: Bot korumasını aşmak için FlareSolverr entegrasyonu
|
||||
- FlareSolverr API üzerinden istek yapma
|
||||
- Gerçek tarayıcı (headless browser) kullanımı
|
||||
- Otomatik fallback: FlareSolverr erişilemezse normal istek
|
||||
- **Gerçek Tarayıcı Header'ları**: Bot algılamasını önlemek için
|
||||
- User-Agent rotasyonu (7 farklı tarayıcı)
|
||||
- Tam tarayıcı header seti (Accept, Sec-Fetch-*, Referer, vb.)
|
||||
- Her istekte random User-Agent seçimi
|
||||
- **Detaylı Loglama**: Kategorize edilmiş log sistemi
|
||||
- Timestamp'li, seviyeli loglar (DEBUG, INFO, WARNING, ERROR)
|
||||
- Log kategorileri: [RATE_LIMIT], [TRANSCRIPT], [FLARESOLVERR], [HEADERS], vb.
|
||||
- **IP Blocking Yönetimi**:
|
||||
- IP blocking tespiti ve dinamik bekleme (5 dakika + block_count × 1 dakika, max 30 dakika)
|
||||
- İstekler arası random bekleme (10-20 saniye, blocking varsa 30-60 saniye)
|
||||
- Timeout ve retry mekanizmaları
|
||||
|
||||
**Süre Tahmini**: 3-4 gün
|
||||
**Süre Tahmini**: 5-6 gün (FlareSolverr ve header desteği ile)
|
||||
|
||||
### 2.2. Transcript Temizleme ve Dönüştürme (`transcript_cleaner.py`)
|
||||
|
||||
@@ -335,9 +349,14 @@ channel_id = get_channel_id_from_handle(handle_url)
|
||||
- **Varsayılan**: 10 transcript
|
||||
- **Maksimum**: 100 transcript
|
||||
- **Kullanım**: `?max_items=50` query parametresi ile belirtilir
|
||||
- **Batch İşleme**: 20'şer batch'ler halinde işlenir (YouTube IP blocking önleme için)
|
||||
- **Batch İşleme**: 5'şer batch'ler halinde işlenir (YouTube IP blocking önleme için)
|
||||
- **Batch'ler Arası Bekleme**: 60-90 saniye random bekleme (human-like behavior)
|
||||
- **İstekler Arası Bekleme**: 10-20 saniye random (blocking varsa 30-60 saniye)
|
||||
- **Veritabanı Kaydı**: Her batch işlendikten sonra hemen veritabanına kaydedilir
|
||||
- **RSS-Bridge Limit**: max_items × 2 kadar video çekilir (bazı videolar transcript'siz olabilir)
|
||||
- **FlareSolverr Desteği**: Bot korumasını aşmak için FlareSolverr entegrasyonu
|
||||
- **Gerçek Tarayıcı Header'ları**: User-Agent rotasyonu ve tam tarayıcı header seti
|
||||
- **Detaylı Loglama**: Kategorize edilmiş, timestamp'li log sistemi
|
||||
- [ ] Transaction yönetimi (ACID compliance)
|
||||
- [ ] Connection pooling ve error handling
|
||||
|
||||
@@ -458,6 +477,11 @@ channel_id = get_channel_id_from_handle(handle_url)
|
||||
enable_sbd: true
|
||||
paragraph_length: 3
|
||||
|
||||
# FlareSolverr ayarları (YouTube IP blocking önleme için)
|
||||
flaresolverr:
|
||||
url: "http://192.168.1.27:8191/v1" # FlareSolverr API URL'i (devre dışı için null)
|
||||
# veya environment variable: FLARESOLVERR_URL=http://192.168.1.27:8191/v1
|
||||
|
||||
rss:
|
||||
title: "Channel Transcript Feed"
|
||||
description: "Full-text transcript RSS feed"
|
||||
@@ -624,12 +648,16 @@ jobs:
|
||||
### 8.1. Performans Optimizasyonu
|
||||
|
||||
**Görevler:**
|
||||
- [ ] Paralel transcript çıkarımı (çoklu video için)
|
||||
- [ ] Caching mekanizması
|
||||
- [ ] Rate limiting yönetimi
|
||||
- [ ] Batch processing optimizasyonu
|
||||
- [x] Paralel transcript çıkarımı (çoklu video için)
|
||||
- [x] Caching mekanizması (3 günlük transcript cache)
|
||||
- [x] Rate limiting yönetimi (AIOLimiter ile async)
|
||||
- [x] Batch processing optimizasyonu (5'şer batch'ler, 60-90 saniye bekleme)
|
||||
- [x] FlareSolverr entegrasyonu (bot korumasını aşma)
|
||||
- [x] Gerçek tarayıcı header'ları (User-Agent rotasyonu)
|
||||
- [x] IP blocking yönetimi (dinamik bekleme, random delays)
|
||||
- [x] Detaylı loglama sistemi
|
||||
|
||||
**Süre Tahmini**: 2-3 gün
|
||||
**Süre Tahmini**: 2-3 gün (Tamamlandı)
|
||||
|
||||
### 8.2. Self-Hosted RSS-Bridge Deployment (Opsiyonel - Rate Limiting Sorunları İçin)
|
||||
|
||||
@@ -670,7 +698,11 @@ jobs:
|
||||
### 8.3. Monitoring ve Logging
|
||||
|
||||
**Görevler:**
|
||||
- [ ] Detaylı logging sistemi
|
||||
- [x] Detaylı logging sistemi
|
||||
- Python `logging` modülü entegrasyonu
|
||||
- Kategorize edilmiş loglar: [RATE_LIMIT], [TRANSCRIPT], [PROCESS], [BATCH], [VIDEO], [CACHE], [FLARESOLVERR], [HEADERS]
|
||||
- Timestamp'li, seviyeli log formatı (DEBUG, INFO, WARNING, ERROR)
|
||||
- Docker logları ile kolay takip
|
||||
- [ ] Hata bildirimleri (email, webhook)
|
||||
- [ ] Feed health monitoring
|
||||
- [ ] İstatistikler (SQLite sorguları ile):
|
||||
|
||||
Reference in New Issue
Block a user