Skip to content

bugraskl/fon-scrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fintables Fon Scraper 🏦

Python License

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:

  1. Fon Türü: Yatırım Fonları veya Emeklilik Fonları
  2. TEFAS Durumu: Açık, Kapalı veya Tümü
  3. Çıktı Formatı: Excel, PDF, CSV veya hepsi
  4. 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!

About

fintables fon scrapper

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages