Basit HTTP isteği + HTML parse yöntemi çoğu scraping projesinde yeterlidir. Ancak JavaScript ile render edilen sayfalarda (SPA, lazy load, infinite scroll) kaynak HTML'de veri bulunmaz. Bu noktada headless browser — yani arayüzsüz tam tarayıcı — devreye girer.

Headless browser nedir?

Chrome, Firefox veya Safari'nin görsel arayüzü olmadan çalışan sürümüdür. Sayfayı gerçek bir kullanıcı gibi yükler, JavaScript'i çalıştırır ve tam DOM'a erişir. Playwright (Microsoft) ve Selenium (W3C standardı) en yaygın araçlardır.

Ne zaman gerekir?

  • Sayfa içeriği JavaScript ile dinamik yükleniyorsa
  • "Daha fazla yükle" veya sonsuz kaydırma varsa
  • Giriş yapılması veya cookie/session gerekiyorsa
  • CAPTCHA veya anti-bot önlemi varsa (kısmi çözüm)
  • Screenshot veya PDF üretimi gerekiyorsa

Playwright vs Selenium

Playwright: Modern, hızlı, auto-wait (element hazır olana kadar bekler), çoklu tarayıcı desteği. Yeni projeler için önerilir.
Selenium: Daha eski, geniş topluluk, Grid ile dağıtık test. Legacy sistemlerde yaygın.

Performans ipuçları

Headless tarayıcı kaynak tüketir. Mümkünse API endpoint'ini reverse-engineer ederek doğrudan JSON çekin. Headless'i son çare olarak kullanın. Paralel tarayıcı sayısını sınırlayın. Gereksiz resim/font yüklemeyi engelleyin.

Botfabrika yaklaşımı

Projelerimizde önce statik scraping deneriz; gerekirse Playwright'a geçeriz. Mezat360 ve fiyat takip botlarında bu hibrit model kullanılmaktadır. Web scraping rehberimizi okuyun veya projenizi paylaşın.