İçeriğe geç
gündemde

Yapay zekâ araçları

Crawl4AI: Yerel Web Scraper Kurulumu ve Gerçek Test

Crawl4AI’ı ayrı bir Python ortamına kurup üç sayfada test ettim. İndirme sürelerini, tabloları ve ham Markdown çıktısını inceledim.

Yazı: 7 dakikalık okuma

👁 113 okunma

Crawl4AI, scraper’ı yerel olarak çalıştırmanızı ve indirilen sayfanın Markdown çıktısını almanızı sağlar. Kütüphaneyi ayrı bir ortama kurup üç makalede test ettim. Test Ekim 2026 itibarıyla geçerlidir.

Kısaca

  • Kütüphane Apache-2.0 lisansına sahiptir ve yerel olarak indirilen her sayfa için ücret talep etmez.
  • Testteki tüm sayfalar indirildi, ancak ham sonuçta menüler ve çevre metinler de yer aldı.
  • Tablolar dönüştürme sonrasında korundu; MP4 dosyalarının adresleri ham Markdown’da bulunmuyordu.
  • Donanım, bakım ve varsa model maliyetleri kullanıcıya aittir.

Crawl4AI nedir, yerel çalıştırma ne sağlar?

Crawl4AI, web sayfalarını indirmeye, tarayıcıda görüntülemeye ve içeriklerini sonraki işlemler için hazırlamaya yarayan bir kütüphanedir. Program Markdown çıktısı verebilir; yapılandırmaya bağlı olarak çıkarım sonuçları da sunabilir. Yerel kullanım, çalıştırma, dosyalar ve filtreleme kuralları üzerinde kontrol sağlar. Bir bulut sağlayıcısından sayfa paketi satın almayı gerektirmez, ancak çalışan bir Python ortamına ve tarayıcıya ihtiyaç duyar.

Bilinen kaynakları düzenli biçimde işlemek için uygun bir seçenektir. İzin verilen adresleri açıkça belirtebilir, hataları kontrol edebilir ve içeriği temizlemeden önce saklayabilirsiniz. Bir uygulamada indirme işlemini modelle yapılacak sonraki analizden ayırmak faydalıdır. Böylece kaydedilmiş bir belgeyi siteye yeniden istek göndermeden işleyebilir, ağ hatalarını AI yanıtlarındaki hatalarla karıştırmazsınız.

Yerel çalıştırma, tüm işlemlerin otomatik olarak bilgisayarda kaldığı anlamına gelmez. Herkese açık bir sayfayı indirmek için sayfanın sunucusuyla bağlantı kurulur; çıkarım için harici bir model kullanırsanız belirttiğiniz içerik modele gönderilir. Bu testte dil modeliyle çıkarım kullanmadım. Sonuçlar, kütüphanenin indirme, görüntüleme ve dönüştürme işlemlerinden elde edildi.

Verilerin nerede işlendiği üzerinde daha geniş kontrol arıyorsanız yerel AI hakkında bilgi edinebilirsiniz. Ancak programı yerel çalıştırmak, harici verileri dilediğiniz gibi kopyalama hakkı vermez.

Crawl4AI’ı ayrı bir ortama adım adım kurma

Ayrı bir venv, bağımlılıkların diğer projelerle karışmasını önlemeye yardımcı olur. Testte Crawl4AI’ı yalnızca bu deneme için ayrılmış bir klasöre kurdum. Kurulum sırasında bağımlılıklar da indirildi; Chromium ise Playwright’ın ayrı bir komutuyla yüklendi. Aşağıdaki komutlar Windows için aynı iş akışını gösteriyor. Bunları, ortam dosyaları oluşturabileceğiniz proje klasöründe çalıştırın.

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install crawl4ai
.\.venv\Scripts\playwright.exe install chromium

Test Python 3.13.15, Crawl4AI 0.9.5 ve Playwright 1.64.0 ile yapıldı. Yüklenen Chromium sürümü 156.0.8078.4’tü. Bu, test günündeki ortamın kaydıdır; gelecekte kurulumun aynı sürümleri getireceği garanti edilmez. Testi tekrarlarken bağımlılık sürümlerini kaydedin ve projenin güncel gereksinimlerini kontrol edin.

  • Test için bir klasör oluşturup terminali burada açın.
  • venv oluşturun ve paketleri bu ortamın yorumlayıcısıyla kurun.
  • Playwright’ı aynı venv içinden kullanarak Chromium’u yükleyin.
  • Kısa bir betik kaydedip aynı yorumlayıcıyla çalıştırın.
  • Başka adresler eklemeden önce indirme durumunu ve dosya içeriğini kontrol edin.

Sistem komutu bulamazsa önce yorumlayıcının yolunu kontrol edin. Paketin başka bir kopyasını genel ortama yüklemek sorunu gizleyebilir ve ortamı yeniden oluşturmayı zorlaştırabilir. Başka bir işletim sisteminde venv içindeki programın yolu değişir; ancak kütüphaneyi, tarayıcı yükleyicisini ve betiği aynı ortamda kullanma ilkesi değişmez.

En basit betik ve sınırları

Bu örnek yalnızca belirtilen adresi indirir. Sitenin tamamını yinelemeli olarak gezmez. Geri dönen içeriği kolayca inceleyebileceğiniz için iyi bir başlangıç noktasıdır. Testte ayrıca önbellek ve bekleme süresi ayarlarını kullandım; örnek ise belgelerdeki temel çağrı yapısını gösteriyor.

import asyncio
from crawl4ai import AsyncWebCrawler

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(
            url="https://example.com"
        )
        if not result.success:
            raise RuntimeError(result.error_message)
        print(result.markdown.raw_markdown)

asyncio.run(main())

Betik üzerinde değişiklik yapmadan önce kayıt biçimini, adres kapsamını ve durdurma koşulunu belirleyin. Tablo veya video çıktıda görünmüyorsa nedenini anlamak için döndürülen HTML’yi Markdown’ın yanında saklamak faydalı olabilir. Ancak indirilen tüm verileri gereksiz yere arşivlemeyin. Kapsam ve saklama süresi, görevin amacına ve içeriğin kullanım koşullarına göre belirlenmelidir.

Testim: üç sayfa, süreler ve Markdown yapısı

Herkese açık üç makaleyi, yineleme yapmadan ve oturum açmadan sırayla indirdim. Göreve ait yerel önbelleği kapattım ve ana içerik filtresini etkinleştirmedim. Süre, görüntüleme ve dönüştürme dahil tek bir arun çağrısının tamamlanmasını kapsıyor. Paylaşılan tarayıcının ilk kez başlatılması 0,560 saniye sürdü; bu süre tablodaki değerlere eklenmedi.

Sitedeki adres Süre Karakter Tablo
/kling-4-0-test/ 0,938 sn 23478 2
/tryb-ai/ 1,259 sn 38860 2
/kling-4/ 1,618 sn 44607 7

Her indirme HTTP 200 durumuyla tamamlandı. Ham Markdown’da sırasıyla 31, 51 ve 36 ATX başlığı saydım. Bunlar makalenin bölümlerini değil, çevresindeki içeriği de kapsıyor. Menü ve tekrarlanan öğeler çıktının boyutunu artırdı. Bu nedenle ilk çalıştırmadan sonra dosyayı incelemek, yalnızca HTTP isteğinin başarılı olmasını görevin tamamlandığı şeklinde yorumlamaktan daha doğru.

Markdown’daki tablo sayısı, makalelerin HTML’inde bulunan tablo sayısıyla aynıydı. Ancak her hücrenin karakter karakter karşılaştırıldığı anlamına gelmiyor. İlk ve üçüncü sayfanın HTML’inde video kaynakları vardı; ham Markdown’da ise MP4 adresleri korunmadı. Metin indirme aracı, sayfanın tüm multimedya yapısını saklamak zorunda değildir. Video adresi önemliyse bunu ayrıca kontrol etmeniz gerekir.

Bu süreleri rastgele bir site için genellemek mümkün değil. Bunlar tek bir bilgisayarda yapılan tekil çalıştırmalardır. Sayfa düzeni değiştiğinde, çok sayıda paralel oturum kullanıldığında veya erişim sorunları yaşandığında ne olacağını göstermiyor. Testin değeri, varsayılan dönüştürmenin gerçek çıktısını ortaya koymasıdır; evrensel bir hız kazananı ilan etmesi değil.

Uygulamada kullanmadan önce neleri iyileştirmeli?

Önce sayfanın hangi bölümünün asıl içerik olduğunu belirleyin. Düzeni istikrarlı bir sayfada çıkarımı ilgili öğeyle sınırlayabilir, ardından başlıkların, dipnotların ve tabloların korunup korunmadığını kontrol edebilirsiniz. Bu, sonraki adım için bir öneridir; ek bir testin sonucu değildir. Bu testte filtre etkin değildi, dolayısıyla filtreye belirli bir hacim veya kalite artışı atfedilemez.

Ardından hata yönetimi ve kapsam sınırı ekleyin. Uygulama boş sonuçları, servis hata mesajlarını ve kaynak yapısındaki değişiklikleri tanımalıdır. Yeniden deneme, yalnızca belirli bir neden olduğunda anlamlıdır; sınırsız bir döngü olarak kullanılmamalıdır. Yerel çözümün maliyetini hesaplarken izleme, bağımlılık güncellemeleri ve sayfa değiştiğinde kuralları düzeltme işlerini de hesaba katın.

Crawl4AI, süreci bilinçli biçimde yapılandırmak isteyenler için iyi bir seçenek olabilir. Tek bir makaleyi kurulum yapmadan okumak istiyorsanız daha basit bir çözüm kullanışlı olabilir. Altyapının sağlayıcı tarafından yönetilmesi önceliğinizse bulut API’lerini değerlendirebilirsiniz. Apache-2.0 lisansı kütüphaneyi kullanmayı kolaylaştırır, ancak indirilen içerikler üzerindeki hakları değerlendirme gereğini ortadan kaldırmaz.

Farkları Crawl4AI, Firecrawl ve Jina karşılaştırmasında görebilirsiniz. Kullanım alanlarının ayrımını ajanlar için web verileri rehberinde bulabilirsiniz.

Sık sorulan sorular

Crawl4AI gerçekten ücretsiz mi?

Yerel kütüphane sayfa başına ücret almaz ve açık lisansla sunulur. Donanım, bakım, proxy ve harici modeller ise maliyet yaratabilir. Bulut hizmeti ayrı bir seçenektir ve kendine ait koşulları vardır.

Temel Markdown çıktısı için model anahtarı gerekiyor mu?

Bu testte dil modeli anahtarı kullanmadım. Model destekli çıkarım, maliyetini ve veri akışını ayrıca değerlendirmeniz gereken ek bir çalışma biçimidir.

Videolar korundu mu?

Görsel ve işitsel içerik olarak korunmadı. Test edilen sayfaların HTML’inde bulunan MP4 adresleri ham Markdown’da yer almadı. Videolar izlenmedi veya yazıya dökülmedi.

// bunları da okuyun

Parıldak'taki benzer konular

Parıldak

Parıldak

YAZAR VE YAYINCI

Yapay zekâyı anlamak ve kullanmak için rehberler, testler ve haberler.

sıradaki yazıhaberlerGoogle DeepMind AlphaEarth ile orman türlerini haritalıyorAlphaEarth Foundations, uydu görüntülerinden yalnızca ağaç örtüsünü değil, dünyanın farklı bölgelerindeki orman türlerini de sınıflandırmayı hedefliyor.

En çok okunanlar

  1. 1Higgsfield promo code: resmi kampanyaları kontrol edin
  2. 2Google AI Ultra ne sunuyor? Pro ile farkları
  3. 3Word için yapay zekâ: Türkçe metni Copilot ile düzeltme

// site haritası

Bu sayfanın diğer dilleri5

parıldak rakamlarla 0arşivdeki yazılar0son 7 günün haberleri
× ‹ büyüt ›