Projelere Dön
Fon Scrapper
fintables fon scrapper
Fintables Fon Scraper 🏦
Fintables.com üzerindeki yatırım ve emeklilik fonlarının getiri verilerini otomatik olarak çeken ve Excel/PDF formatında kaydeden Python scraper.
✨ Özellikler
- 🔄 2375+ yatırım fonunu otomatik olarak çeker
- 📊 Excel, PDF ve CSV formatlarında dışa aktarım
- 🎯 İnteraktif filtre menüsü - Komut satırından kolayca filtre seçimi
- 🏷️ TEFAS filtresi - Açık, Kapalı veya Tümü
- 💼 Fon türü seçimi - Yatırım Fonları veya Emeklilik Fonları
- 🎨 Profesyonel raporlar - Formatlanmış Excel ve PDF çıktıları
- 🤖 Bot koruması aşar - Playwright ile gerçek tarayıcı otomasyonu
📊 Çekilen Veriler
| Sütun | Açıklama |
|---|---|
| Kod | Fon kodu (örn: AAK) |
| Fon Adı | Fonun tam adı |
| Tür | Fon türü (Değişken, Serbest, Para Piyasası, vb.) |
| TEFAS | TEFAS'ta işlem görüyor mu (Evet/Hayır) |
| 1 Ay (%) | Son 1 aylık getiri |
| 3 Ay (%) | Son 3 aylık getiri |
| 6 Ay (%) | Son 6 aylık getiri |
| Yılbaşı (%) | Yılbaşından bu yana getiri |
| 1 Yıl (%) | Son 1 yıllık getiri |
| 3 Yıl (%) | Son 3 yıllık getiri |
| 5 Yıl (%) | Son 5 yıllık getiri |
🚀 Kurulum
1. Depoyu Klonla
git clone https://github.com/bugraskl/fon-scrapper.git
cd fon-scrapper
2. Bağımlılıkları Yükle
pip install -r requirements.txt
3. Playwright Tarayıcısını Yükle
playwright install chromium
💻 Kullanım
İnteraktif Mod (Önerilen)
python scraper.py
Bu komut size şu seçenekleri sunar:
- Fon Türü: Yatırım Fonları veya Emeklilik Fonları
- TEFAS Durumu: Açık, Kapalı veya Tümü
- Çıktı Formatı: Excel, PDF, CSV veya hepsi
- Dosya Adı: Özel dosya adı belirleyebilirsiniz
Komut Satırı Modu
# Varsayılan ayarlarla çalıştır (Excel + PDF)
python scraper.py --no-prompt
# Sadece TEFAS açık fonlar
python scraper.py --no-prompt --tefas 1
# Sadece TEFAS kapalı fonlar
python scraper.py --no-prompt --tefas 2
# Tüm fonlar (varsayılan)
python scraper.py --no-prompt --tefas 3
# Emeklilik fonları
python scraper.py --no-prompt --pension
# Özel dosya adı
python scraper.py --no-prompt -o rapor
# Sadece Excel
python scraper.py --no-prompt --excel
# Sadece PDF
python scraper.py --no-prompt --pdf
# Sadece CSV
python scraper.py --no-prompt --csv
# Hepsi birden
python scraper.py --no-prompt --excel --pdf --csv
# Tarayıcıyı görünür şekilde çalıştır (debug)
python scraper.py --visible
Tüm Parametreler
| Parametre | Açıklama | Varsayılan |
|---|---|---|
-o, --output | Çıktı dosya adı | fonlar_YYYYMMDD_HHMMSS |
--no-prompt | İnteraktif menüyü atla | - |
--tefas | TEFAS filtresi (1=Açık, 2=Kapalı, 3=Tümü) | 3 |
--pension | Emeklilik fonlarını çek | - |
--excel | Excel formatında kaydet | - |
--pdf | PDF formatında kaydet | - |
--csv | CSV formatında kaydet | - |
--visible | Tarayıcıyı görünür çalıştır | - |
--timeout | Zaman aşımı (ms) | 60000 |
📁 Çıktı Dosyaları
Tüm dosyalar files/ klasörüne kaydedilir:
fon-scrapper/
├── files/
│ ├── fonlar_20260106_191030.xlsx
│ ├── fonlar_20260106_191030.pdf
│ └── fonlar_20260106_191030.csv
├── scraper.py
├── requirements.txt
└── README.md
Excel Çıktısı
- Mavi başlık satırı (kalın, beyaz yazı)
- Otomatik sütun genişlikleri
- Filtre özelliği aktif
- Profesyonel görünüm
PDF Çıktısı
- A4 yatay format
- Türkçe karakter desteği
- Alternatif satır renkleri
- Tarih ve fon sayısı bilgisi
📋 Gereksinimler
- Python 3.8+
- playwright
- pandas
- openpyxl
- reportlab
🔧 Sorun Giderme
"Playwright not installed" hatası
playwright install chromium
Zaman aşımı hatası
Timeout değerini artırın:
python scraper.py --timeout 120000
Tarayıcı görünmüyor
Debug için görünür mod kullanın:
python scraper.py --visible
📝 Örnek Çıktı
==================================================
🏦 Fintables Fon Scraper
==================================================
🚀 Tarayıcı başlatılıyor...
📡 Sayfa yükleniyor...
🔧 TEFAS filtresi: 'Tümü'
✅ TEFAS filtresi 'Tümü' olarak ayarlandı
📥 API yanıtı: 2375 fon
✅ Toplam 2375 fon verisi alındı.
📋 İşlenen fon sayısı: 2375
📊 Excel kaydedildi: files/fonlar_20260106_191030.xlsx
📑 PDF kaydedildi: files/fonlar_20260106_191030.pdf
==================================================
✅ İşlem tamamlandı!
📊 Toplam 2375 fon kaydedildi.
📁 Dosyalar: ./files/
==================================================
⚠️ Yasal Uyarı
Bu araç yalnızca eğitim ve kişisel kullanım amaçlıdır. Verilerin ticari kullanımı için Fintables.com kullanım şartlarını kontrol edin.
📄 Lisans
Bu proje MIT Lisansı altında lisanslanmıştır.
⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!
Teknolojiler
Python
finance
fintable
python
scrapper