Scarnox · Blog

Headless tarayıcı tespit edildi: nedenleri ve çözümleri (2026)

Bir site "headless tarayıcı tespit edildi" mesajı gösterir ya da otomatik tarayıcınıza sessizce farklı bir sayfa sunar. Siteler bunu yapar, çünkü headless tarayıcı pencere olmadan çalışır ve normal bir masaüstü tarayıcısından küçük ama ölçülebilir farklarla ayrılır. Bu rehber, sitelerin hangi sinyallere baktığını, kendi tarayıcınızın neyi açığa çıkardığını nasıl teşhis edeceğinizi ve sağlam bir çözümün nasıl görüneceğini anlatır. Ayrıca doğru yanıtın durmak ya da kontrolü bir captcha adımı olarak ele almak olduğu noktayı da ele alır.

Siteler headless tarayıcıları neden kontrol eder?

Otomasyon framework'leri gerçek bir tarayıcı motorunu sürer, dolayısıyla sayfanın büyük kısmı aynı çalışır. Farklar kenarlarda ortaya çıkar:

Siteler bu sinyalleri bir skorda birleştirir. Düşük bir skor, sessiz bir düşürme, ek kontroller ya da bir engelleme anlamına gelebilir.

Adım 1: tarayıcınızın neleri açığa çıkardığını görün

Bir şeyi değiştirmeden önce, bir sayfanın otomasyonunuzdan neler okuyabildiğine bakın. Aşağıdaki betik, sizin kontrol ettiğiniz bir sayfayı açar ve önemli sinyalleri yazdırır. Bu bir teşhis aracıdır: yalnızca kendi test sayfalarınızda kullanın, başkalarının sistemlerini yoklamak için kullanmayın.

from playwright.sync_api import sync_playwright

CHECK = """() => ({
    webdriver: navigator.webdriver,
    languages: navigator.languages,
    plugins: navigator.plugins.length,
    userAgent: navigator.userAgent,
    screen: [screen.width, screen.height],
    viewport: [window.innerWidth, window.innerHeight],
    timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
})"""

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()
    page.goto("https://example.com")  # sahip olduğunuz bir sayfayla değiştirin
    print(page.evaluate(CHECK))
    browser.close()

Aynı betiği headless=False ile de çalıştırın, sonra iki çıktıyı karşılaştırın. Aradaki farklar, bir sitenin fark edebileceği şeylerdir.

Adım 2: sadece bayrakları değil, tutarsızlıkları düzeltin

Yalnızca bir bayrağı gizleyip diğerlerini olduğu gibi bırakmak en yaygın hatadır. User agent Windows dediği halde yazı tipleri, saat dilimi ve ekran boyutu Linux sunucusunu anlatıyorsa, bu tek bir özellikten daha güçlü bir sinyaldir. İç açıdan tutarlı bir ortam hedefleyin:

Playwright bunlardan birkaçını tek bir yerden ayarlamanıza izin verir:

context = browser.new_context(
    locale="en-US",
    timezone_id="America/New_York",
    viewport={"width": 1366, "height": 768},
)
page = context.new_page()

Adım 3: yavaşlayın ve bir ziyaretçi gibi davranın

Otomasyon, bir insanın yapabileceğinden hızlı olduğunda belli olur. Sayfa yüklemeleri arasına gerçekçi duraklamalar ekleyin, aynı öğeye mükemmel bir ritimle tıklamaktan kaçının ve tek bir adresten yüzlerce sayfayı paralel açmayın. Daha az ve daha yavaş istek göndermek siteye binen yükü de azaltır, ki bu zaten doğru olan şeydir.

Adım 4: kontrolün bir captcha olduğunu bilin

Bazı tespit akışları engellemeyle değil, bir challenge ile sonlanır. Bir captcha widget'ı görürsünüz ve bu adım bir çözücüden token almayı gerektirir. Scarnox'ta bugün canlı olan captcha tipi PopularCaptcha'dır. PopularCaptcha Python rehberi, token'ın nasıl istenip gönderildiğini gösterir. Cloudflare Turnstile gibi diğer widget'lar yol haritasında yer alıyor ama henüz canlı değil; bir plan yapmadan önce captcha tipleri sayfasına bakın.

Bir captcha adımı, geri kalan kurulumunuzun sağlam olduğu anlamına gelmez. Site, ne yaparsanız yapın her headless oturumu engelliyorsa, bu sahibinin otomatik erişim istemediğinin açık bir işaretidir. Buna saygı gösterin.

Yapılmaması gerekenler

Otomasyonu yasaklayan bir siteden gizlemeye çalışmayın ve erişim kontrollerini aşmak için tespit-atlatma araçları kullanmayın. Bu, bu rehberin ele aldığı test ve açık veri toplamadan farklı bir projedir. Projeniz size verilmemiş bir erişime ihtiyaç duyuyorsa, site sahibine sorun ya da resmi bir API veya veri akışı arayın.

Web scraping'i sorumlu şekilde yapın

Buradan sonra nereye?

Otomasyonunuz uçtan uca testler içinse yaklaşım farklıdır: testlerde captcha bölümüne bakın. Playwright ya da Puppeteer kullanıyorsanız, Playwright ve Puppeteer ile captcha yönetimi token'ın nereye gittiğini açıklar.

Ücretsiz deneme kredisiyle başlayın, kart gerekmez: hesap oluşturun ve PopularCaptcha akışını kendi sayfanızda test edin. Güncel fiyatlar için fiyatlandırma sayfasına bakın.

Sonraki adımlar