- Crawlee, web scraping ve tarayıcı otomasyonu için bir Python kütüphanesidir
- Güvenilir crawler'ları hızlıca oluşturmaya yardımcı olur
- Yapay zeka, LLM, RAG ve GPT için veri çıkarımında kullanılabilir
- Web sitelerinden HTML, PDF, JPG, PNG gibi dosyaları indirebilir
- BeautifulSoup, Playwright ve saf HTTP ile çalışır
- Hem Headful modunu hem de Headless modunu destekler
- Proxy rotasyonu özelliği sunar
Özellikler
- HTTP ve Headless tarayıcı crawling'i için birleşik bir arayüz sunar
- Kullanılabilir sistem kaynaklarına göre otomatik paralel crawling yapar
- Type hint kullanan Python ile yazılmıştır; IDE otomatik tamamlama deneyimini iyileştirir ve hataları azaltır
- Hata oluştuğunda veya engellendiğinde otomatik yeniden deneme özelliği
- Entegre proxy rotasyonu ve oturum yönetimi özellikleri
- Yapılandırılabilir istek yönlendirme - URL'leri doğrudan uygun handler'a iletir
- Crawl edilecek URL'ler için kalıcı kuyruk
- Hem tablo biçimindeki veriler hem de dosyalar için tak-çalıştır depolama
- Güçlü hata işleme özellikleri
Scrapy'den farkları
- Crawlee, varsayılan olarak Headless tarayıcı crawling'ini (Playwright) destekler
- Basit ve zarif arayüz - 10 satırdan az kodla scraper kurulabilir
- Eksiksiz type hint desteği
- Standart Asyncio tabanlıdır
GN⁺ görüşü
- Crawlee, web scraping ve crawling için güçlü bir araç gibi görünüyor. Özellikle Headless tarayıcı tabanlı crawling'i varsayılan olarak desteklemesi büyük bir avantaj.
- Basit arayüzü ve az kodla crawler oluşturulabilmesi sayesinde üretkenlik yüksek görünüyor. Ayrıca type hint'leri aktif biçimde kullanması, geliştirme deneyimini iyileştiriyor ve hata olasılığını azaltıyor.
- Veri çıkarmak için crawling gereken projelerde Crawlee ciddi şekilde değerlendirilebilir. Özellikle JavaScript render etmesi gereken web sayfalarını crawl etmek gerekiyorsa PlaywrightCrawler faydalı görünüyor.
- Ancak çok büyük ölçekli crawling gerekiyorsa veya gerçek zamanlılık önemliyse, dağıtık crawling destekleyen Scrapy ya da başka araçları kullanmak daha iyi olabilir.
- Ayrıca crawling politikaları ve hukuki konular da yeterince değerlendirilerek kullanılması yerinde olur.
2 yorum
Node'u desteklediğini biliyordum ama görünüşe göre Python'u da destekliyormuş. Bakımı gereken bir scraper ise framework'ü ciddi ciddi düşünmek gerekecek gibi haha
Hacker News görüşleri
Mevcut özellikleri belgelendirmek önemli. Web scraping platformu ne kadar harika olursa olsun, yalnızca kullanıcılarının anlayabildiği bir şeyse faydası yok
tiered_proxy_urls: list[list[str]] | None = Noneifadesinin ne anlama geldiğini anlamak zorApify/Crawlee'ye teşekkürler. Uzun süredir Node.js kullanıcısı olarak bu kütüphane en iyi çalışanıydı
Projem için bir stack ararken Crawlee'yi keşfettim. Python kütüphanesi istiyordum ama Crawlee'yi Typescript ile kullanarak projeyi bir haftada tamamladım
Scrapy'den nasıl farklı olduğunu merak ediyorum
Başka kütüphanelerden geçmek için sebep ne, merak ediyorum. Kendi crawler'ımı kurdum ama özellikle benzersiz bir şey bulamadım
Modern Python kodu güzel görünüyor
const data = await crawler.get_data()Javascript gibi görünüyor. Alt çizgi eksik gibiTest case'lerden daha fazla kod snippet'ını belge örneği olarak taşımayı öneriyorum. Eline sağlık
Scraping araçları her zaman hoş karşılanır. Bunu kişisel bir projede denemeyi planlıyorum. Yapay zeka sayesinde şu anda scraping, altına hücum döneminde kürek satmak gibi