Instagram'dan indirdiğim takipçi verilerini elle karşılaştırmaktan yorulunca bu küçük aracı yazdım. Verileriniz bilgisayarınızdan çıkmaz — ne API ne scraping var, sadece sizin export ettiğiniz HTML dosyaları.
- Bu Proje Nedir?
- Neden Yaptım?
- Özellikler
- Nasıl Çalışır?
- Hızlı Başlangıç
- Kurulum
- Kullanım
- Instagram Verilerini Alma
- Proje Yapısı
- Mimari Notlar
- Gizlilik ve Güvenlik
- Sık Sorulan Sorular
- Yol Haritası
- Katkıda Bulunma
- Geliştirici
- Lisans
Instagram Takipçi Analiz Aracı, resmi Instagram veri export'unuzdan gelen HTML dosyalarını kullanarak takipçi ilişkilerinizi analiz eden tamamen yerel bir araçtır.
Ne yapar:
- Takipçilerinizi listeler
- Takip ettiklerinizi listeler
- Sizi geri takip etmeyenleri bulur
- Karşılıklı takip oranını hesaplar
Ne yapmaz:
- Instagram API'sine bağlanmaz
- Canlı profil taraması (scraping) yapmaz
- Verilerinizi herhangi bir sunucuya göndermez
- Başka birinin hesabını analiz etmez
Kimler için uygun?
- Kendi Instagram verilerini incelemek isteyen bireyler
- Takip/takipçi dengesini görmek isteyenler
- Gizliliğe önem veren, verilerini dışarı çıkarmak istemeyen kullanıcılar
Instagram'ın "Verilerini İndir" özelliği takipçi ve takip listelerini HTML olarak veriyor. Ama "beni kim geri takip etmiyor?" sorusunun cevabını bulmak için iki dosyayı elle karşılaştırmak gerekiyordu. Binlerce satırlık HTML'de bunu yapmak hem yavaş hem sinir bozucu.
Bu projeyi tam da bu ihtiyaç için geliştirdim: küçük, bağımsız, açık kaynak ve mümkün olduğunca şeffaf. Hem terminalden hızlıca bakabileceğiniz CLI scriptleri, hem de tarayıcıda sürükle-bırak ile çalışan bir web arayüzü var.
| Özellik | CLI (Python) | Web Arayüzü |
|---|---|---|
| Takipçi listesi | ✓ | ✓ |
| Takip edilenler listesi | ✓ | ✓ |
| Geri takip etmeyenler | ✓ | ✓ |
| Karşılıklı takip listesi | — | ✓ |
| Karşılıklı takip oranı | ✓ | ✓ |
| Arama / filtreleme | — | ✓ |
| Açık / koyu tema | — | ✓ |
| Sürükle-bırak dosya yükleme | — | ✓ |
| Klavye kısayolları | — | ✓ |
| Instagram profiline link | — | ✓ |
- Responsive tasarım (mobil ve masaüstü)
- Glassmorphism tabanlı modern arayüz
- İstatistik paneli: takipçi, takip, geri takip etmeyen ve karşılıklı takip sayıları
- Sekmeli listeler ve anlık arama
- Export rehberi (modal içinde adım adım anlatım)
- Klavye kısayolları:
Ctrl/Cmd + K— arama kutusuna odaklanCtrl/Cmd + D— tema değiştirEscape— aramayı temizle
- Tek komutla hızlı analiz
- Anlaşılır hata mesajları (dosya yok, boş dosya, format sorunu)
- Örnek verilerle test desteği (
test.py)
flowchart LR
export[InstagramVeriExportu] --> html["followers_1.html + following.html"]
html --> cli[PythonCLI]
html --> web[WebArayuzu]
cli --> sonuc[AnalizSonuclari]
web --> sonuc
- Instagram'dan HTML formatında veri export edersiniz.
- Export ZIP'inden
followers_1.htmlvefollowing.htmldosyalarını alırsınız. - CLI scriptleri bu dosyaları BeautifulSoup ile, web arayüzü ise tarayıcıda DOMParser ile okur.
- Her iki yöntem de HTML içindeki
instagram.comlinklerinden kullanıcı adlarını çıkarır ve listeleri karşılaştırır.
Projeyi henüz klonlamadıysanız, önce repoyu indirip bağımlılıkları kurun. Ardından örnek verilerle test edebilirsiniz — gerçek Instagram export'unuza gerek yok.
git clone https://github.com/dogukannparlak/instagram-analiz-araci.git
cd instagram-analiz-araci
pip install -r requirements.txt
python test.pyTest scripti example_followers.html ve example_following.html dosyalarını kullanarak üç CLI scriptini sırayla çalıştırır.
Web arayüzünü denemek için:
python -m http.server 8000 --directory webTarayıcıda http://localhost:8000 adresini açın ve HTML dosyalarınızı yükleyin.
- Python 3.9 veya üzeri
- pip
- Git (projeyi klonlamak için)
git clone https://github.com/dogukannparlak/instagram-analiz-araci.git
cd instagram-analiz-araciSanal ortam kullanmanızı öneririm (opsiyonel ama iyi bir alışkanlık):
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activateBağımlılıkları yükleyin:
pip install -r requirements.txtKurulumu doğrulamak için:
python test.py-
Sunucuyu başlatın:
python -m http.server 8000 --directory web
-
Tarayıcıda
http://localhost:8000adresine gidin. -
followers_1.htmlvefollowing.htmldosyalarını sürükleyip bırakın veya dosya seçici ile yükleyin. -
Sonuçları sekmeler arasında gezerek inceleyin; arama kutusu ile filtreleyin.
VS Code kullanıyorsanız .vscode/tasks.json içindeki Start Web Server görevi aynı komutu çalıştırır.
HTML dosyalarını proje kök dizinine koyduktan sonra:
# Takipçileri listele (followers_1.html gerekli)
python takipçi.py
# Takip edilenleri listele (following.html gerekli)
python takip.py
# Geri takip etmeyenleri bul (her iki dosya gerekli)
python takipetmeyen.py
# Export klasöründeki tüm bağlantı dosyalarını analiz et
python baglantilar.py --dir /path/to/connections/followers_and_followingGerçek veriniz olmadan projeyi denemek için:
python test.pyScript önce bağımlılıkları ve gerekli dosyaları kontrol eder, ardından örnek HTML dosyalarıyla üç CLI scriptini çalıştırır. Mevcut followers_1.html veya following.html dosyalarınız varsa yedekleyip işlem sonunda geri yükler.
- Instagram uygulamasını veya web sitesini açın.
- Ayarlar → Hesaplar Merkezi → Bilgilerin ve izinlerin → Bilgilerini dışa aktar yolunu izleyin.
- Dışa aktarma oluştur → Cihaza aktar seçeneğini tercih edin.
- Özelleştirme adımında:
- Bağlantılar (Connections) kategorisini dahil edin — takipçi ve takip listeleri burada.
- Tarih aralığı: Tüm zamanlar
- Format: HTML
- Export hazır olunca ZIP dosyasını indirin ve açın.
- İçinden şu dosyaları bulun:
followers_1.html(bazenfollowers.htmlolarak da gelebilir)following.html
CLI kullanımı: Bu dosyaları proje kök dizinine kopyalayın.
Web kullanımı: Dosyaları tarayıcı arayüzüne yükleyin; proje klasörüne kopyalamanıza gerek yok.
Not: Export süreci Instagram tarafında değişebilir. Menü isimleri farklı görünürse "Verilerini dışa aktar" / "Export your information" ifadesini arayın ve HTML + Bağlantılar seçimlerini koruyun.
instagram-analiz-araci/
├── README.md # Proje dokümantasyonu
├── CONTRIBUTING.md # Katkı rehberi
├── LICENSE # MIT lisansı
├── requirements.txt # Python bağımlılıkları
│
├── instagram_parser.py # Paylaşılan çok formatlı HTML parser
├── takipçi.py # CLI: takipçi listesi
├── takip.py # CLI: takip edilenler listesi
├── takipetmeyen.py # CLI: geri takip etmeyenler + oran
├── baglantilar.py # CLI: export klasörü analizi
├── test.py # Örnek verilerle test scripti
│
├── example_followers.html # Test için örnek takipçi verisi (2026 format)
├── example_following.html # Test için örnek takip verisi (2026 format)
├── example_table.html # Test için tablo formatı örneği
│
└── web/ # Statik web arayüzü
├── index.html
├── css/
│ └── style.css
└── js/
└── script.js # InstagramAnalyzer sınıfı
Kullanıcı tarafından sağlanan dosyalar (followers_1.html, following.html) repoya eklenmemelidir — .gitignore bunları hariç tutar.
Hem Python hem JavaScript tarafında aynı çok stratejili parser kullanılır:
instagram.comlink metni- Link href (
/_u/dahil) h2başlıkları (following formatı)- Tablo satırları (
Kullanıcı adı/Username)
Desteklenen export dosyaları: followers_*.html, following.html, blocked_profiles.html, close_friends.html, removed_suggestions.html, pending_follow_requests.html, recent_follow_requests.html, recently_unfollowed_profiles.html, hide_story_from.html
Python (BeautifulSoup):
from instagram_parser import parse_export_file, parse_export_directory
result = parse_export_file("following.html")
data = parse_export_directory("connections/followers_and_following")JavaScript (DOMParser):
doc.querySelectorAll('a[href*="instagram.com"]')Instagram export HTML yapısını zaman zaman güncelleyebilir. Bu durumda scriptler boş liste döndürebilir veya uyarı verebilir. CLI tarafında "HTML dosyasının formatı değişmiş olabilir" mesajı gösterilir; web arayüzünde de benzer uyarılar vardır.
Sorun yaşarsanız issue açabilirsiniz — export dosyanızın yapısını paylaşırken kişisel verilerinizi (gerçek kullanıcı adları vb.) maskeleyin.
Bu araç tamamen yerel çalışır:
- Tüm analiz bilgisayarınızda (CLI) veya tarayıcınızda (web) gerçekleşir
- Instagram verileriniz hiçbir sunucuya gönderilmez
- API anahtarı, oturum bilgisi veya üçüncü taraf servis kullanılmaz
- Web arayüzü yalnızca Google Fonts ve Font Awesome CDN'lerini harici kaynak olarak yükler; analiz verisi dışarı çıkmaz
Kendi verilerinizi analiz etmek dışında bir amaçla kullanmayın. Instagram Kullanım Koşullarına uygun hareket etmek sizin sorumluluğunuzdadır.
Instagram export'unda dosya adı hesap sayısına göre değişebilir. CLI scriptleri varsayılan olarak followers_1.html bekler. Dosyanız followers.html ise ya adını değiştirin ya da scriptteki dosya yolunu güncelleyin. Web arayüzü her iki adı da kabul eder.
- Export sırasında Bağlantılar kategorisinin seçili olduğundan emin olun.
- Dosyanın boş olmadığını kontrol edin.
- Dosyayı bir metin editöründe açıp
instagram.comlinkleri olup olmadığına bakın. - Instagram'ın HTML formatını değiştirmiş olma ihtimaline karşı issue açabilirsiniz.
Hayır. Bu araç yalnızca kendi Instagram veri export'unuz için tasarlandı. Başkasının verilerini izinsiz analiz etmek hem etik değildir hem de Instagram kurallarına aykırı olabilir.
Hayır. python -m http.server komutu yalnızca yerel makinenizde (localhost) çalışır. Bilerek internete açmadığınız sürece dışarıdan erişilemez.
- Hızlı terminal çıktısı istiyorsanız → CLI
- Görsel arayüz, arama, karşılıklı takip listesi istiyorsanız → Web
Bu proje aktif bir side project. Aklımdaki bazı fikirler:
- Sonuçları CSV / JSON olarak dışa aktarma
- "Seni takip etmeyenler" listesi (ters yönlü analiz)
- GitHub Pages üzerinde statik demo
- Instagram export format değişikliklerine daha dayanıklı parser
- CLI'ye karşılıklı takip listesi eklenmesi
Bir fikriniz veya bug bildiriminiz varsa issue açmaktan çekinmeyin.
Katkılarınızı memnuniyetle karşılarım — küçük düzeltmelerden yeni özelliklere kadar.
Detaylı rehber için CONTRIBUTING.md dosyasına bakın.
Kısa özet:
- Repoyu fork edin
- Yeni bir branch oluşturun
- Değişikliklerinizi yapın ve test edin (
python test.py) - Pull request açın
Doğukan Parlak
- GitHub: @dogukannparlak
- LinkedIn: Doğukan Parlak
Bu projeyi kişisel bir ihtiyaçtan yola çıkarak geliştirdim. Faydalı bulduysanız repoya yıldız vermeniz beni mutlu eder.
Bu proje MIT lisansı altında lisanslanmıştır. Özgürce kullanabilir, değiştirebilir ve dağıtabilirsiniz.