Sık Karşılaşılan Kazıma Engelleri ve Bunların Nasıl Okunacağı
Herhangi bir değişiklik yapmadan önce, sizi gerçekte neyin engellediğini belirleyin — sağlayıcının adını belirten başlık, her bir durum kodunun gerçekte ne anlama geldiği ve bir proxy'nin hangi sorunları çözebileceği, hangilerini çözemeyeceği.
- Operatör sınıfı NAT güveni — hedefin, gerçek aboneleri engellemeden engelleyemeyeceği bir adres.
- İsteğe bağlı rotasyon — gerçekten sorunlu hale gelen bir adresi, istediğiniz zaman devre dışı bırakın.
- Ülkeye göre uyumlu çıkışlar — böylece coğrafi engelleme, bot engellemesiyle karıştırılmaz.
- Özel donanım — IP adresinizdeki itibar, sizin oluşturduğunuz itibardır.
Taşıyıcı IP adresleri gerçek abonelerle paylaşıldığından, bunlardan birini engellemek maliyetlidir.
Eğer temiz bir mobil IP sorunu çözmezse, sorun başından beri IP ile ilgili değildi.
Tıkanmış bir scraper nedeniyle kaybedilen zamanın çoğu, yanlış sorunu gidermeye harcanır. Durum kodu tek başına ne olduğunu nadiren ortaya koyar ve IP adreslerini değiştirip yeniden deneme eğilimi, her semptomu aynı sorunmuş gibi ele alır. Bu sayfa bir önceliklendirme kılavuzudur: sizi engelleyen sorunun ne olduğunu belirleyin, ardından buna uygun bir çözüm seçin.
Sizi Engelleyen Şeyi Belirleyin
Herhangi bir değişiklik yapmadan önce, durum satırını değil, yanıtı okuyun. Başlıca bot önleme sağlayıcıları, genellikle istemeden de olsa kendilerini açıklarlar ve her biri farklı bir çözüm önerir:
| İpucu | Kimdir? | Bunun anlamı nedir? |
|---|---|---|
| cf-ray başlık ya da server: cloudflare | Cloudflare | Gövde genellikle kendi kodunu taşır — örneğin, bir güvenlik duvarı kuralı için 1020, hız sınırlaması için 1015. Bir JavaScript ara sayfası, tarayıcıya ihtiyaç duyulduğunu gösterir. |
| x-datadome başlık, markalı yarışma sayfası | DataDome | Büyük ölçüde parmak izine dayalı. Yalnızca temiz bir IP adresi nadiren yeterli olur; istemcinin bir tarayıcı gibi görünmesi gerekir. |
| _px3 çerez ya da şuna bir atıf: px-captcha | PerimeterX (artık HUMAN) | Davranışsal puanlama büyük önem taşır — konuşma temposu ve dinleyicilerle etkileşim, konuşmanın içeriği kadar önemlidir. |
| _abck çerez ya da bir sec-cpt istekteki yol | Akamai Bot Yöneticisi | İstemci tarafında toplanan sensör verileri bir risk puanının hesaplanmasına temel oluşturur; eksik veya güncel olmayan bir sensör verisi, IP adresi değerlendirmeye alınmadan önce işaretlenir. |
| Satıcı işareti yok, sade, kısa gövdeli | Sitenin kendi kuralları | Genellikle daha basit bir çözüm: bir User-Agent filtresi, zorunlu bir başlık ya da uyabileceğiniz bir erişim sıklığı kuralı. |
İlk hata anında yanıt başlıklarının tamamını ve gövdenin ilk birkaç yüz baytını kaydet ve sakla. Aşağıdaki soruların neredeyse tamamı bu kayıtla cevaplanabilir; ayrıca, değişikliklere başladıktan sonra bir bloğu yeniden oluşturmak, onu bir kez kaydetmekten çok daha zordur.
Genel CAPTCHA bir belirtidir, engel değildir
Bir reCAPTCHA veya hCaptcha testi nadiren asıl savunma mekanizmasıdır — bu, üst kademedeki puanlama sistemi kesin bir karar veremediğinde başvurduğu bir yedek çözümdür. Bulmacayı çözmek, bir sayfa erişim hakkı kazandırır, ancak geçici bir erteleme değildir; çünkü bunu tetikleyen aynı sinyaller bir sonraki istekte de hâlâ mevcuttur. Bir CAPTCHA engelini, üst aşamadaki parmak izi veya itibar kontrolünün başarısız olduğunun bir teyidi olarak değerlendirin ve çözümü otomatikleştirmek yerine bu katmanı düzeltmeye çaba harcayın.
Her Bir Durum Kodunun Gerçek Anlamı
Aynı derecede başarısızlık gibi görünen iki tepki, birbirine zıt nedenlere sahip olabilir. İşte içselleştirmeye değer olan ilişki şudur:
| Yanıt | En olası neden | Denemeniz gereken ilk şey |
|---|---|---|
| 403 hemen, küçücük ya da içi boş bir cisim | Bot engelleme — izinler değil, parmak izi veya başlıklar | Proxy’ye müdahale etmeden önce müşterinin TLS profilini ve başlıklarını düzeltin |
| 403 bir dizi başarının ardından | Adres bunu hak etti — oran ya da hacim | Eşzamanlılık sayısını azaltın, ardından sorunlu IP adresini değiştirin |
| 429 Retry-After ile | Dürüst hız sınırlaması | Tam olarak o kadar bekleyin. Cihazı döndürmeyin ve hemen yeniden denemeyin. |
| 407 | Seni reddeden vekilin, hedef değil | Kimlik bilgilerini kontrol edin veya bu ana bilgisayarın izin listesinde olup olmadığını kontrol edin |
| 503 bir meydan okuma sayfasıyla | JavaScript için ara bekleme süresi | Gerçek bir tarayıcı ya da tarayıcı olmadan veri döndüren bir uç nokta |
| 200 veri yok — yumuşak engelleme | Başarı olarak kabul edilen zorluk ya da boş bir kabuk | Duruma değil, içeriğe odaklanın — veri kümelerini sessizce bozan şey işte budur |
| Yönlendirme döngüsü, ya da bir izin engeli ya da bölge engeli | Coğrafi konum veya çerez durumu, bot algılama değil | Doğru ülkeden çıkış yapın ve çerezleri oturum boyunca aktarın |
Yumuşak blok, bir hata gibi görünmeyen tek hata türü olduğu için özel dikkat gerektirir. HTTP 200 kodunu başarı olarak değerlendiren bir kazıyıcı, binlerce boş kaydı sorunsuzca yazıp işlemin başarıyla tamamlandığını bildirir. Bir sayfayı kabul etmeden önce, bilinen bir alanın mevcut olup olmadığını doğrulayın.
Bir Günü Kurtaran Bir Ön Sıralama Kararı
Üç soru, bu sırayla. Her biri bir neden grubunu tamamen eliyor; böylece dört şeyi birden karıştırmak yerine her seferinde tek bir şeyi değiştirirsiniz:
- İlk istekte hata mı oluştu?
O halde henüz bir itibar oluşturulmamış demektir ve adresin masum olduğu neredeyse kesindir. Başlıkları, User-Agent ve TLS profilini inceleyin. Burada IP adreslerini değiştirmek hiçbir şeyi değiştirmez ve kaynak israfına yol açar.
- Yoksa bir dizi başarının ardından mı?
O zaman istemci yapısı sorun yoktu ve bunu hak etmenizi sağlayan bir şey yaptınız. Hız, hacim ya da model. Öncelikle ana bilgisayar başına eşzamanlılık sayısını azaltın; ancak adresin gerçekten kullanılmış olduğunu kabul ettikten sonra rotasyona geçin.
- Aynı bağlantı üzerinden bir tarayıcıda çalışıyor mu?
O halde ağ yolu sorunsuzdur ve sorun istemcinizdedir. İstemciniz üzerinden tls.peet.ws gibi bir parmak izi yankı hizmeti isteyin ve bu hizmetin JA3, JA4 ve HTTP/2 parmak izlerini gerçek bir tarayıcıninkilerle karşılaştırın. Buradaki bir uyuşmazlık, sorunun tüm cevabıdır.
Her seferinde tek bir değişkeni değiştirin ve başarısız olan isteği bir sabit örnek olarak saklayın. Genellikle görülen hata şekli şudur: Proxy’yi, User-Agent’ı ve istemci kütüphanesini aynı anda değiştirip, sistemin çalıştığını görmek ve hangisinin etkili olduğunu asla öğrenememek — böylece bir sonraki deneme sıfırdan başlar.
Sebebe Uygun Çözümler
Kanıtların işaret ettiği şeye göre sıralanmış ve bunların hangisinin bir gösterge tarafından gerçekten ele alındığı konusunda dürüst bir yaklaşım sergilenmiştir:
- IP itibarı, akış sınırlamaları, coğrafi kısıtlamalar — Bu, gerçekten de proxy sunucusunun görevidir. CGNAT’ın arkasındaki bir operatör IP’sini hedef sitenin engellemesi maliyetlidir, çünkü bunun arkasında binlerce gerçek abone bulunmaktadır; ayrıca doğru ülkeden bağlanmak, bot engellemesi gibi görünen coğrafi engelleri ortadan kaldırır.
- TLS veya HTTP/2 parmak izi — Bu, proxy sorunuyla hiç alakalı değil. curl_cffi gibi gerçek bir tarayıcının el sıkışma sürecini taklit eden bir istemci kullanın ya da gerçek bir tarayıcı çalıştırın. Hiçbir adres, urllib3’ün Chrome gibi el sıkışma işlemi yapmasını sağlamaz.
- Başsız sızıntı — navigator.webdriver, eksik eklenti yüzeyleri ve bir SwiftShader WebGL görüntüleyici, tarayıcının nereden çıktığına bakılmaksızın onu otomatikleştirilmiş bir tarayıcı olarak tanımlar.
- Çelişkiler — Birleşik Krallık çıkış adresi ile Amerika/New_York saat dilimi veya bir veri merkezi aralığındaki mobil Kullanıcı Aracısı. Her katmanda tutarlılık, herhangi bir katmanın gücünden daha önemlidir.
- Desen — Mükemmel derecede eşit aralıklar ve hiç kimsenin sürdüremeyeceği bir hız doğrudan ölçülür. Hiçbir vekil erişim modelini gizleyemez; bunu ancak modelin değiştirilmesi sağlar.
Çerez ve Oturum Sürekliliği
Satıcılar, bir müşterinin yalnızca nereden bağlandığını değil, durumu nasıl yönettiğini de değerlendirir. İstekler arasında çerezleri silmek ya da her yeniden denemede yeni bir oturum açmak, ziyaret süresince tek bir oturumu açık tutan bir tarayıcıya kıyasla daha otomatik bir yaklaşım gibi görünür. Her bir işçiyi, tarama segmenti süresince tek bir IP adresine ve tek bir çerez havuzuna bağlayın ve her ikisini de yalnızca o segment bittiğinde birlikte değiştirin — oturum ortasında IP adresini değiştirirken eski bir çerezi korumak kendi içinde bir çelişkidir.
Temiz bir taşıyıcı IP adresi üzerinde test yapmanın yararı, neleri eleyebildiğinizdir. Eğer yeni bir mobil adres eski adresle tamamen aynı şekilde davranıyorsa, sorunun kaynağı hiçbir zaman adres olmamıştır ve listede yer alan en pahalı seçeneği elemiş olursunuz. Bu mobil proxy ile web veri toplama kılavuzu parmak izi katmanlarını daha ayrıntılı bir şekilde ele alır ve web veri toplama konusunda en iyi uygulamalar bunların çoğunu daha başlamadan önleyen kur disiplinini kapsar.
Temiz Bir Taşıyıcı IP Adresine Karşı Test
Canlı PXM2 konumları — hedef kitlenizin isteğin hangi ülkeden geldiğini göreceğini seçin ve sınırsız bant genişliği ile rotasyon özelliğine sahip özel bir 4G/5G IP adresi edinin:
Amerika Birleşik Devletleri
Birleşik Krallık
Fransa
Sık Sorulan Sorular
Verileri toplarken neden 403 hatası alıyorum?
A bare 403 arriving immediately, with no body or a tiny JSON error, is almost always an anti-bot decision rather than a permissions one. If it happens on the very first request, suspect your headers and TLS fingerprint. If it starts after a run of successes, suspect your rate. The two have completely different fixes, and guessing wrong costs a day.
Hangi bot önleme sisteminin beni engellediğini nasıl anlarım?
Durum satırı yerine yanıtı okuyun. Cloudflare, bir cf-ray başlığı ve bir Cloudflare sunucu başlığı bırakır; ayrıca gövdede 1020 ve 1015 gibi kendi hata kodları görünür. DataDome ise x-datadome başlıklarını ve markalı bir doğrulama sayfası ayarlar. PerimeterX (artık HUMAN olarak bilinir), bir _px3 çerezi ayarlar ve px-captcha'ya başvurur. Her biri farklı bir çözüm gerektirir.
403 ile 429 arasındaki fark nedir?
Retry-After başlığı içeren bir 429 yanıtı, gerçek anlamda bir hız sınırlamasıdır: hedef, hızınızın yanlış olduğunu ve ne zaman tekrar denemeniz gerektiğini size bildiriyor. Buna uymalısınız. 403 ise size hizmet verilmesinin tamamen reddedilmesi anlamına gelir; bu durumda başka hiçbir şeyi değiştirmeden IP adreslerini sırayla denemek, genellikle adreslerin engellenmesine yol açar.
Sayfa neden tarayıcımda yükleniyor da Python'da yüklenmiyor?
Because your client does not handshake like a browser. The cipher order, TLS extension order and HTTP/2 settings combine into a JA3 or JA4 fingerprint that is compared against known-browser values. You can confirm it by requesting a fingerprint-echo service such as tls.peet.ws through your client and comparing. The fix is a client that impersonates a real TLS profile, or a real browser — not a different proxy.
Bir mobil proxy, her türlü veri toplama engellemesini ortadan kaldırabilir mi?
No, and it is worth being clear about that. A proxy fixes IP reputation, rate limits attached to an address, and geo-blocks. It does nothing for a TLS fingerprint mismatch, a headless browser announcing itself, missing or contradictory headers, or an access pattern no person could produce. If a clean mobile IP does not help, the cause is on that list instead.
İlgili Mobil Proxy Kılavuzları
Sizi engelleyen şeyin ne olduğunu anladıktan sonra, kümenin geri kalan kısmında çözüm ayrıntılı olarak ele alınmaktadır.
Web veri toplama kılavuzları
Temel mobil proxy kılavuzları
Beş Dakikada IP Sorununu Giderin
Gerçek operatör ağlarında çalışan özel 4G/5G modemler — hedef adresinizi temiz bir IP adresinden test edin ve sorunun proxy kaynaklı olup olmadığını öğrenin.
Temiz bir taşıyıcı IP adresi deneyin