Bu proje, gelişmiş özelliklere sahip, yüksek performanslı ve tespit edilmesi zor bir web scraper uygulamasıdır.
- Asenkron çalışma (asyncio)
- Proxy yönetimi ve otomatik rotasyon
- Tor ağı desteği
- Captcha çözme yeteneği
- JavaScript rendering
- Stealth modu (tarayıcı parmak izi gizleme)
- Dağıtık scraping desteği
- Veri şifreleme ve sıkıştırma
- Gelişmiş hata yönetimi ve yeniden deneme mekanizması
- Yapılandırılabilir ayarlar
- Gelişmiş Browser Fingerprinting: WebGL, AudioContext ve Font fingerprinting'e karşı gelişmiş koruma.
- Yapay Zeka Tabanlı Davranış Simülasyonu: İnsan benzeri davranışları taklit etmek için makine öğrenimi modeli kullanımı.
- Makine Öğrenimi Tabanlı Proxy Rotasyonu: En uygun proxy'yi seçmek için akıllı bir sistem.
- Kendi eğitilmiş derin öğrenme modelini kullanarak captcha'ları çözer.
- API tabanlı çözücü ile yedekli çalışır.
- Sayfadaki JavaScript kodlarını otomatik olarak analiz eder.
- Anti-bot kontrollerini tespit eder ve devre dışı bırakmaya çalışır.
- JavaScript kodlarını dinamik olarak manipüle eder.
- Scrape edilen metinleri otomatik olarak analiz eder.
- Named Entity Recognition (NER) ile önemli varlıkları tespit eder.
- Metin özetleme özelliği ile uzun içerikleri özetler.
- Duygu analizi yaparak metnin genel tonunu belirler.
- Anahtar kelime çıkarımı ile metnin ana konularını tespit eder.
-
Gerekli Python paketlerini yükleyin:
pip install -r requirements.txt
-
Tor'u sisteminize kurun (isteğe bağlı, ancak önerilir):
- Ubuntu:
sudo apt-get install tor
- macOS:
brew install tor
- Ubuntu:
-
.env
dosyasını oluşturun ve gerekli ayarları yapın (örnek için.env.example
dosyasına bakın). -
Redis'i kurun ve çalıştırın (dağıtık scraping için gerekli):
- Ubuntu:
sudo apt-get install redis-server
- macOS:
brew install redis
- Ubuntu:
-
Ana scraper'ı çalıştırmak için:
python main.py
-
Dağıtık scraping modunda çalıştırmak için:
.env
dosyasındaUSE_DISTRIBUTED_SCRAPING=True
olarak ayarlayın.- Redis sunucusunun çalıştığından emin olun.
- Birden fazla terminal veya makinede
python main.py
komutunu çalıştırın.
Tüm yapılandırma ayarları .env
dosyasında bulunmaktadır. Önemli ayarlar şunlardır:
CAPTCHA_API_KEY
: 2captcha servisinden alınan API anahtarıENCRYPTION_KEY
: Veri şifreleme için kullanılan 32 byte'lık anahtarTARGET_URLS
: Scrape edilecek URL'lerUSE_JS_RENDERING
: JavaScript rendering'i kullanıp kullanmamaUSE_STEALTH_MODE
: Stealth modunu etkinleştirmeUSE_DISTRIBUTED_SCRAPING
: Dağıtık scraping'i etkinleştirmeUSE_ADVANCED_FINGERPRINT_EVASION
: Gelişmiş fingerprint gizleme tekniklerini etkinleştirir.USE_AI_BEHAVIOR_SIMULATION
: Yapay zeka tabanlı davranış simülasyonunu etkinleştirir.USE_ML_PROXY_ROTATION
: Makine öğrenimi tabanlı proxy rotasyonunu etkinleştirir.CAPTCHA_MODEL_PATH
: Derin öğrenme captcha çözücü modelinin yoluUSE_DYNAMIC_JS_ANALYSIS
: Dinamik JavaScript analizi ve manipülasyonunu etkinleştirir.USE_CONTENT_ANALYSIS
: Yapay zeka tabanlı içerik analizini etkinleştirir.
main.py
: Ana giriş noktasıscraper.py
: Asenkron scraper sınıfıproxy_manager.py
: Proxy yönetimitor_manager.py
: Tor ağı yönetimidata_manager.py
: Veri şifreleme ve saklamacaptcha_solver.py
: Captcha çözme işlemlericonfig.py
: Yapılandırma yönetimidistributed_scraper.py
: Dağıtık scraping işlemleristealth_utils.py
: Tarayıcı parmak izi gizleme yardımcıları
Bu scraper, araştırma ve eğitim amaçlı geliştirilmiştir. Kullanırken şunlara dikkat edin:
- Hedef sitelerin kullanım şartlarını ve robots.txt dosyalarını kontrol edin.
- Aşırı yük bindirmekten kaçının ve makul aralıklarla istek gönderin.
- Kişisel veya gizli bilgileri scrape etmeyin.
- Yasal ve etik sınırlar içinde kalın.
Hata raporları, özellik istekleri ve pull request'ler her zaman açıktır. Büyük değişiklikler için lütfen önce bir konu açın.
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE
dosyasına bakın.