KYC olmadan — kimlik, selfie veya belge istemez. Kripto ile ödeyin: BTC, USDT, USDC, ETH, SOL, LTC
Dil: Türkçe
Başlayın

Rehber · sorumlu tarama · 2026

403, 429 ve CAPTCHA’lar: tepki verin, kaçmayın

Bir 403, 429 veya CAPTCHA sitenin tarayıcınıza mesajıdır. Doğru cevap neredeyse her zaman yavaşlamak, kuralları okumak veya sormaktır; yanlış olan tarayıcıyı gizlemektir. İşte doğru cevabı koda nasıl entegre edeceğiniz.

Son güncelleme: · 5 dk okuma

Hızlı cevap

Bir scraper 403, 429 ve CAPTCHA yanıtlarıyla nasıl başa çıkmalı?

Onları engel değil, sinyal olarak değerlendirin. 429 durumunda Retry-After kadar bekleyin ve o sunucudaki hızınızı düşürün. 403 durumunda, bir duraklamadan sonra bir kez yeniden deneyin, ardından durun ve sitenin kurallarını kontrol edin. CAPTCHA durumunda o sunucuyu durdurun: otomatik çözmeyin. CrawlRelay konut proxyleri, $0,50/GB kaynağından, yükü dağıtır ve konum ayarlar; site kararını atlatmanın yolu değillerdir. KYC olmadan. Kripto ile ödeme yapın.

Üç sinyal bir bakışta

429 Çok Fazla İstekÇok hızlısınız. Retry-After'a uyun, geri çekilin, aynı sunucudaki eşzamanlılığı azaltın
403 YasakBu istek reddedildi. Bir kez yeniden deneyin, sonra durup siteyi gözden geçirin
CAPTCHA veya doğrulama sayfasıSite insan olup olmadığınızı anlamak istiyor. Sunucuyu durdurun ve yavaşlayın
Tarama kuralları standardırobots.txt, RFC 9309; Crawl-delay yaygın bir uzantıdır
Desteklemediğimiz şeylerCAPTCHA çözümü, gizli eklentiler, parmak izi taklitleri

Her sinyal tarayıcıma ne söylüyor?

  • 429 en kibar olandır: içerik mevcut, ancak hızınızla değil. RFC 6585 bunu tanımlar, genellikle Retry-After başlığıyla ne zaman tekrar deneneceğini bildirir.
  • 403 bu isteğin reddidir. Düzeltilebilir olabilir (yanlış ülke, eksik başlıklar, çok hızlı) veya nihai (site bu içeriğe otomatik erişime izin vermez).
  • CAPTCHA veya doğrulama sayfası, genellikle 403 veya 503 durumu ile gelir, sitenin bot yönetimi trafiğinize şüpheyle baktığını gösterir. Bu bir yükseltmedir: görmezden gelinen 429'lardan sonraki adımdır.

Üçü de artan sinyallerdir. 429'ları görmezden gelen siteler önce 403 ve doğrulamalara, sonra tüm IP aralıklarında uzun engellere geçer, bu da o aralıktaki tüm kullanıcıları etkiler.

Her sinyal için tarayıcım ne yapmalı?

Sinyalİlk tepkiDevam ederseDurdurma zamanı
429Retry-After bekle veya jitter ile üstel olarak geri çekilO sunucudaki eşzamanlı işlemi yarılaştırRetry-After artmaya devam ediyor veya 429 tek tek devam ediyor
403Duraktan sonra bir kere yeniden dene, aynı ülkeAynı ülkeden bir tarayıcı ile karşılaştır; robots.txt ve şartları kontrol etAynı URL modeliyle ikinci 403
CAPTCHA / doğrulamaSunucuyu birkaç dakika duraklatÇok daha düşük hızda devam etDüşük hızda doğrulama geri geliyorsa: site otomatik erişim istemiyor
503 ile Retry-Afterİstendiği kadar bekleSunucuyu duraklatÇoğu istek birkaç dakikadan uzun başarısız oluyorsa

Doğru tepki veren bir tarayıcıyı nasıl kurarım?

Kuralları her örümcek için değil, fetcher içinde koyun. Bu örümcek bir seferde bir istek yapar, robots.txt ve Crawl-delay'a uyar, Retry-After kadar bekler ve bir sunucudan art arda üç red alınca durur. 4xx robots.txt'yi izin, 5xx'yi tam yasak olarak kabul eder, RFC 9309'a göre.

Python: nazik fetcher
import time
import urllib.robotparser
from urllib.parse import urlsplit

import requests

PROXY = "http://USERNAME-country-us:[email protected]:7777"
USER_AGENT = "ExampleCrawler/1.0 (+https://example.com/crawler-info)"


class PoliteFetcher:
    """One request at a time per host; robots.txt, Crawl-delay and Retry-After honoured."""

    def __init__(self, min_interval=1.0, max_refusals=3):
        self.min_interval, self.max_refusals = min_interval, max_refusals
        self.http = requests.Session()
        self.http.proxies = {"http": PROXY, "https": PROXY}
        self.http.headers["User-Agent"] = USER_AGENT
        self.robots, self.next_time, self.refusals = {}, {}, {}

    def _robots(self, root):
        if root not in self.robots:
            rp = urllib.robotparser.RobotFileParser(root + "/robots.txt")
            try:
                r = self.http.get(root + "/robots.txt", timeout=(10, 30))
                if r.status_code >= 500:
                    rp.parse(["User-agent: *", "Disallow: /"])  # unreachable: assume disallow
                else:
                    rp.parse(r.text.splitlines() if r.status_code == 200 else [])  # 4xx: allowed
            except requests.RequestException:
                rp.parse(["User-agent: *", "Disallow: /"])
            self.robots[root] = rp
        return self.robots[root]

    def get(self, url):
        scheme, host = urlsplit(url)[:2]
        if self.refusals.get(host, 0) >= self.max_refusals:
            return None  # this host said no: stop asking
        rp = self._robots("%s://%s" % (scheme, host))
        if not rp.can_fetch(USER_AGENT, url):
            return None
        delay = max(self.min_interval, rp.crawl_delay(USER_AGENT) or 0)
        wait = self.next_time.get(host, 0) - time.monotonic()
        if wait > 0:
            time.sleep(wait)
        r = self.http.get(url, timeout=(10, 30))
        pause = delay
        if r.status_code in (429, 503):
            retry_after = r.headers.get("Retry-After", "")
            pause = max(delay, int(retry_after) if retry_after.isdigit() else 60)
        refused = r.status_code in (403, 429) or "captcha" in r.text[:5000].lower()
        self.refusals[host] = self.refusals.get(host, 0) + 1 if refused else 0
        self.next_time[host] = time.monotonic() + pause
        return r


fetcher = PoliteFetcher()
resp = fetcher.get("https://example.com/")
print(resp.status_code if resp is not None else "skipped")

Hangi durumlarda 403 meşru şekilde düzelir?

Birçok 403 sebebi sizin tarafınızdandır ve bunları düzeltmek mantıklıdır:

  • Yanlış ülke. Birçok site bölgeseldir. Hedef ülkeyi -country-<code> ile seçin.
  • Eksik başlıklar. Accept, Accept-Language ve iletişim URL'si içeren güvenilir kullanıcı aracısı gönderin. Sıradan HTTP istemcisinde tarayıcıya benzer kullanıcı aracısı tutarsızdır ve sıklıkla reddedilir.
  • Kendi hızınız. N istekten sonra başlayan 403 hız problemidir; yavaşlayın.

Düzeltme olmayanlar: kullanıcı ajanlarını döndürerek çok farklı kişiler gibi görünmeye çalışmak, tarayıcı parmak izi taklitleri veya kasıtlı blokları aşmak için IP değiştirmek. Site otomatik trafiği engellemek için hosting aralıklarını filtreliyorsa, bir konut proxy IP'si bunu izin vermez.

Neden sadece CAPTCHA'ları çözmüyorsunuz?

Çünkü CAPTCHA, site tarafından sorulan ve yanlış cevaplayacağınız bir sorudur. Otomatik çözüm, nazik bir tarayıcıyı erişim kontrolünü aşmak için yapılmış bir araca dönüştürür ve bu da yasal riskinizi artırır: 2026'daki ABD davaları, Google v. SerpApi ve Reddit v. SerpApi gibi arama kazıma davaları, sanıkların DMCA'nın anti-çevreleme kuralı kapsamında bir anti-bot sistemini aşmakla suçlandığı iddialara dayanır. Mahkemeler henüz bu soruyu netleştirmedi, ancak risk gerçek.

CrawlRelay CAPTCHA çözme veya bot tespitinden kaçma desteği sunmaz ve kabul edilebilir kullanım politikası](/acceptable-use/) bunları geçit üzerinden yasaklar. Eğer bir zorlama (challenge) arkasında veri ihtiyacınız varsa, siteye erişim isteyin, API'sini kullanın veya veriyi lisanslayın.

Ne zaman siteyle iletişime geçmeliyim?

Varsayılanların izin verdiğinden daha fazlasına ihtiyacınız olduğunda. Birçok site API, veri akışı, iş ortağı programı veya kendini tanıtan ve amacını açıklayan bir tarayıcı için daha yüksek limit sunar. Kullanıcı ajanınıza bir iletişim URL'si ekleyin, tarayıcınızı ve nasıl çıkış yapılacağını açıklayan bir sayfa tutun ve suiistimal bildirimlerine hızlı yanıt verin. Ulaşılabilen bir tarayıcı uyarı alır, engellenmeden önce.

403, 429 ve CAPTCHA'lar: sorular

Konut proxy CAPTCHA'ları durdurur mu?

Buna güvenmeyin. Bir konut çıkışı, sitenin gördüğü IP'yi değiştirir, tarayıcınızın davranışını değil: hızı veya davranışınız nedeniyle ortaya çıkan CAPTCHA'lar devam eder ve amaç da budur. Talep oranı düşükken zorlama devam ederse, site o içeriğe otomatik erişim istemez.

Retry-After olmadan 429 aldıktan sonra ne kadar beklemeliyim?

Birkaç saniyeyle başlayın ve her yeni 429'da beklemeyi ikiye katlayın, rastgele ekstra ekleyin ve yaklaşık bir dakika ile sınırlayın. İstekler tekrar başarılı olduğunda, 429'a neden olan hızdan daha düşük bir hızda devam edin ve hata oranı sabit kaldıkça yavaş yavaş artırın.

Oran limitlerini aşmamak için IP değiştirmek serbest mi?

Değişim, yükü çıkışlar arasında dağıtır ve konum seçmenizi sağlar, bu normaldir. Ancak site tarafından reddedilen bir hızı korurken IP başına limiti aşarak değişim yapmak kaçaktır. Çoğu kullanım şartı bunu yasaklar ve bizim kabul edilebilir kullanım politikamız da.

Tarayıcım hangi kullanıcı ajanını göndermeli?

Kendi kullanıcı ajanınızı: bir isim, sürüm ve tarayıcıyı ve iletişim bilgilerinizi açıklayan bir URL, örneğin ExampleCrawler/1.0 (+https://example.com/crawler-info). Googlebot veya GPTBot gibi diğer tarayıcıların isimlerini kullanmayın.

Kaynaklar (4)
  1. RFC 9309: Robots Exclusion Protocol — IETF (2022-09)
  2. RFC 6585: Ek HTTP Durum Kodları (429) — IETF (2012-04)
  3. Reddit v. SerpApi LLC — Loeb & Loeb (2026-08)
  4. Google v. SerpApi: mahkeme davanın reddini kabul etti — SerpApi (2026-07-21)

Nazik tarayıcılar için konut proxy

$1,50 için 1 GB, $0,50/GB 50 GB'ten.

$0,50/GB · KYC olmadan

Başlayın