Proxy ile proxysiz captcha çözme: hangi görev tipine ihtiyacınız var?
Scarnox, PopularCaptcha'yı iki biçimde sunar: proxysiz; Scarnox captcha'yı kendi ağı üzerinden çözer ve proxy'li bir varyant; botunuzun kullandığı proxy'yi siz gönderirsiniz. İkisi de aynı yanıt biçiminde bir token döndürür ve çözüm başarısız olduğunda ikisi de ücretsizdir. İstekteki tek fark proxy'dir.
Proxysiz çoğu site için doğru başlangıç noktasıdır. Yalnızca site token'ı bir IP adresine bağlıyorsa proxy gönderin.
İki görev tipi
| Görev tipi | Ne gönderirsiniz |
|---|---|
PopularCaptchaTaskProxyless | sitekey ve sayfa URL'si |
PopularCaptchaTask (proxy varyantı) | sitekey, sayfa URL'si ve sizin proxy değeriniz |
İkisi de PopularCaptcha görevidir. İsteğin geri kalanı, yanıt ve token işleme aynıdır.
Proxysiz ile başlayın
Proxysiz çözümler Scarnox'un kendi ağında çalışır. Entegrasyon yazabileceğiniz en basit haliyle olur ve çoğu site için token, sonradan hangi IP'nin gönderdiğine bakılmaksızın çalışır. Hangisine ihtiyacınız olduğundan emin değilseniz, buradan başlayın:
{
"captcha_type": "PopularCaptchaTaskProxyless",
"site_key": "10000000-ffff-ffff-ffff-000000000001",
"site_url": "https://example.com/signup"
}
Token bir IP'ye bağlıysa proxy gönderin
Bazı siteler, captcha'yı çözen IP ile formu gönderen IP'nin aynı olup olmadığını kontrol eder. Belirtisi nettir: token'lar hata vermeden döner, ama site onları her seferinde reddeder. Çözüm, oturumun geri kalanında botunuzun kullandığı aynı proxy üzerinden çözmektir:
{
"captcha_type": "PopularCaptchaTask",
"site_key": "10000000-ffff-ffff-ffff-000000000001",
"site_url": "https://example.com/signup",
"proxy": "http://user:pass@203.0.113.10:8080"
}
Proxy formatı http://user:pass@host:port şeklindedir. Çözüm ve gönderim için aynı proxy'yi kullanın ve tüm oturum boyunca sabit tutun. Çözüm ile gönderim arasında proxy'yi değiştirmek IP uyuşmazlığını geri getirir.
Nasıl karar verilir?
Soruları sırayla çözün:
- Token, formu farklı bir makineden gönderdiğinizde çalışıyor mu? Evet ise proxysiz kullanın.
- Site, token'ları yalnızca gönderen IP çözen IP'den farklı olduğunda mı reddediyor? Evet ise proxy gönderin.
- Site, tek bir IP'ye bağlı bir oturum çerezi ya da cihaz kontrolü kullanıyor mu? Evet ise proxy gönderin ve tüm oturum boyunca aynı IP'yi tutun.
Bir taahhütte bulunmadan önce ikisini de ücretsiz denemede test edin. Hesap oluşturun ve ücretsiz deneme kredisiyle başlayın; kart gerekmez. Her iki tipi aynı akış için bir kez çalıştırın.
Proxy'niz çalışmıyorsa
Başarısız bir çözüm ücretsizdir. Proxy çalışmıyorsa ya da hedef tarafından engelleniyorsa çözüm başarısız olur ve bunun için ücret alınmaz. Çalıştırmadan önce proxy'yi kendiniz test edin, formatını kontrol edin ve hedefin adres aralığını engellemediğinden emin olun. Bir tarayıcı için çalışan ama çözüm için başarısız olan bir proxy çoğu zaman bir format sorunudur.
Proxy kimlik bilgilerini loglardan uzak tutun
Şifreli bir proxy adresi bir sırdır. Bir ortam değişkeninde ya da bir sır yöneticisinde saklayın. Loglara yazdırmayın, commit etmeyin ve hata raporlarına yapıştırmayın. Hata ayıklama için çözüm isteğini logluyorsanız, önce proxy alanını çıkarın.
Proxy varyantı için proxy seçmek
Çözüm, gönderdiğiniz her proxy ile çalışır, ama token yalnızca aynı IP formu gönderirse işe yarar. Tüm oturum boyunca kontrol ettiğiniz, sabit bir residential ya da statik adres kullanın; her istekte değişen bir havuz değil. Token'ları IP'ye bağlayan siteler genellikle oturumu da bağlar, bu yüzden dönen bir havuz akışı iki kez bozar.
Hız hakkında ne düşünmeli?
İki varyant da tek bir bloklayan istekten token döndürür; yoklama döngüsü yoktur. Zaman aşımı aynıdır: yaklaşık 185 saniye. Varyantı hıza göre değil, IP sorusuna göre seçin.
Oturumlar ve proxy'ler pratikte
Bir oturumun ilk isteğinden son isteğine kadar aynı proxy'yi kullanın. Tipik bir akış kayıt sayfasını yükler, captcha'yı çözer ve formu gönderir. Sayfa yüklemesi bir adresten, çözüm başka bir adresten giderse, IP'ye bağlı bir site her şey doğru görünse bile token'ı reddedebilir.
Kodunuzda tek bir proxy ayarı tutun ve siteye dokunan her adıma geçirin. İşin başka kısımları scraping için proxy döndürüyorsa, captcha akışına kendi sabit proxy'sini verin. İkisini karıştırmak, testte çalışan bir token'ın üretimde başarısız olmasının en yaygın nedenlerinden biridir.
Proxy alanını yalnızca bir proxy kullanan varyantta ayarlayın. Proxysiz görev tipiyle bir proxy göndermek çözümü iyileştirmez ve loglarda hangi modun kullanıldığını anlamayı zorlaştırır.
Doğru cevap için logları okuyun
Hangi modun bir site için gerektiğinden emin değilseniz, ikisini de aynı sayfada çalıştırın ve karşılaştırın. Her token'ın kabul edilip edilmediğini, görev tipini ve bir proxy gönderilip gönderilmediğini loglayın. Proxysiz token'ları tutarlı şekilde kabul eden bir site proxy varyantına ihtiyaç duymaz. Yalnızca belirli çalıştırmalardan reddeden bir site bir IP kontrolüne işaret eder. Tahmin değil, loglar karar versin.
Sonraki adımlar
- Python ile PopularCaptcha nasıl çözülür
- Görünmez captcha'ları çözme
- Production'da dayanan retry ve hata yönetimi
- Ücretsiz captcha çözücü deneme
Ücretsiz deneme kredisiyle başlayın, kart gerekmez: hesap oluşturun ve tek bir sayfada iki görev tipini de deneyin.