Menu

AntiGate görevleriyle her captcha nasıl atlanır

AntiGate tasks eğitiminin yeni bir video sürümü mevcuttur Burada.

Yıllarca süren araştırma ve geliştirmeden sonra, robotlarınızın insanlar tarafından hazırlanan captcha kapılarından geçmesine yardımcı olacak evrensel bir çözüm sunuyoruz. Buna "AntiGate" adını verdik ve bunlar, insan iş gücümüzün görevleri gerçekleştirmek için kullandıkları senaryo şablonlarıdır.

Belirli bir noktada, uygulamanız yeni bir tür captcha, karmaşık tarayıcı komut dosyaları veya başka bir otomasyon koruması "ağ geçidi" ile karşılaşır. İşte burada AntiGate görevlerimiz devreye girer. Gerçek insan tarayıcı oturumu oluşturmak için çalışanlarımızdan birine yetki verirsiniz.
  • İlk olarak bir şablon seçin Mevcut bir şablonu kullanabilir veya kendi şablonunuzu oluşturabilirsiniz. Bir şablon, çalışanların gerçekleştirdikleri bir adımlı talimatlar dizisidir.
  • İkinci olarak, doldurulacak bir girdinin değeri, bir girdinin CSS seçicisi veya gitmemiz gereken web adresi gibi şablonun gerektirdiği ek verileri sağlayın. Birazdan şablonlar hakkında daha fazla bilgi vereceğiz.
  • Üçüncü ve opsiyonel olarak - proxy’ler. Bir web sitesi her oturum çerezini kesin bir IP adresiyle ilişkilendirirse proxy’lere ihtiyacınız olur.
Bu üçüne sahip olduğunuzda, API'miz ile bir görev oluşturursunuz. Bir çalışan, özel tarayıcı eklentimizle web sitenize gider ve tüm senaryo adımlarını manuel veya otomatik olarak yürütür. Senaryonun sonunda, çerezler, localStorage değerleri, tarayıcı parmak izi gibi tüm tarayıcı oturum bilgilerini alır ve uygulamanıza geri iletiriz. Geriye kalan tek şey, bu verileri kullanarak çalışan oturumumuzu geri yüklemek ve sanki bir insan kullanıcıymış gibi işlemlere devam etmek. Şimdi, bu ne kadar harika? :)

AntiGate şablonları nedir?

Bir AntiGate şablonu, çalışanlarımızın geçmesi gereken kesin bir senaryoyu tanımlar. Şablonlar, tümü sırayla gerçekleştirilen adımlardan oluşur. Bir adım tamamlandığı zaman, çalışan bir sonraki adıma geçer. Tüm adımlar tamamlandığında görev tamamlanır ve çalışan oturumunun bir ekran görüntüsü alınır ve uygulamanıza gönderilir.

Ne tür adımlar mevcut?
  • Bir metin girdi alanını otomatik olarak veya elle doldurun.
  • Sayfada bir metin örneğinin görünmesini (veya sayfadan kaybolmasını) bekleyin.
  • CSS tarafından tanımlanan bir DOM ögesinin sayfada görünmesini (veya sayfadan kaybolmasını) bekleyin.
  • Bir anahtar kelimenin çalışanın mevcut tarayıcı URL adresinde görünmesini (veya buradan kaybolmasını) bekleyin.
Şablonun "çalışanlar için açıklaması" metin alanı, çalışandan beklediğiniz diğer adımları anlatabilir. Örneğin: "Bir captcha çöz ve gönder butonuna bas".
Şimdi bir örnek verelim. Geliştirici Merkezi sekmesine gidin ve test etmek için ücretsiz bir şablon oluşturun. Endişelenmeyin, hiçbir şeyi bozmayacaksınız!
Şablonu eklemek için tıklayın
Bir örnek yüklemek için tıklayın
Adımlar bölümüne göz atın
Bir demo örnek yüklediniz. Bunu hesabınıza kaydedebilir ve daha sonra kendiniz test edebilirsiniz. Şimdi eksiksiz şablon özellikleri listesine bir bakalım:
  • Şablon adı. Kaydedildikten sonra bu değiştirilemez. Yayınladığınızda, şablonunuz API'de bu adla kullanılabilir hale gelir.
  • Müşteriler için açıklama. Genel şablonlar şablonlar kataloğu içine kaydedilir.
  • Çalışanlar için açıklama. Bu, çalışanlarımızın sayfanın üst kısmında gördüğü metindir.
    Çalışan arayüzü örneği
  • Değişkenler. Bu, kalıcı değerler yerine adımlarda kullanmak üzere ekleyebileceğiniz değişken adlarının bir listesidir. Bu örnekte, "login" ve "password" olmak üzere 2 değişkenimiz var. Bu 2 değişken, tanıtım oturum açma formunu doldurmak için 1. ve 2. adımlarda kullanılır. Bu şekilde, şablonda kalıcı bir giriş ve şifre kodlamak yerine API aracılığıyla bu değerleri sağlayabilirsiniz.
    1. ve 2. adımlarda kullanılan değişkenler
  • İşçi adımları. Burada senaryo adımlarının sırasını düzenleyebilir ve değiştirebilirsiniz. Örneğimizde aşağıdakileri yapıyoruz:
    1. Metin alanını CSS seçicisi "#login" ile otomatik olarak doldur. Metin alanı değeri, "kullanıcı adı" değişkeni tarafından belirlenir.
    2. Metin alanını CSS seçicisi "#password" ile otomatik olarak doldur. Metin alanı değeri, "şifre" değişkeni tarafından belirlenir.
    3. Bir kontrol metninin sayfada görülmesini bekleyin. Kalıcı olarak "Test giriş yapılarak geçildi" değerine ayarlanmıştır.

Artık şablonu kaydedebilirsiniz, Geliştirici Merkezinizde görüntülenir. "Sandbox" statüsüne sahip olduğuna dikkat edin; bu, yalnızca sizin için kullanılabilir olduğu ve API'da mevcut olmadığı anlamına gelir. Buradan yeni oluşturduğunuz şablonunuzu kendi çalışanınız gibi test etmeyi deneyebilirsiniz.

Test şablonları

Bu noktada, Chrome tarayıcısını kullanmanız gerekir ve profilin çerezlerine erişimi olan eklentimizi yüklememiz gerekeceği için bu tarayıcıda yeni bir kullanıcı profili oluşturmanızı öneririz.
Çalışan arayüzü örneği
Daha sonra, şablon kartında "test" butonuna basın.
Talimatları izleyin ve platformunuz için eklentiyi indirin. Ardından, etkili olması için sayfayı yeniden yükleyin, "login" ve "password" değişkenlerini bazı rastgele değerlerle doldurun ve "Launch Test" düğmesine basın. Şuna benzeyen yeni bir sayfa açılmalıdır:

Adres çubuğunun yanında, eklentinin hedef sayfanın üst kısmına eklediği mavi bir çubuk bulunur. Çalışanlar bu sayede görevlerini bilir ve görevin tamamlanmasını kontrol ederler.

Ayrıca, değişkenlerle doldurulurken kullanıcı adı ve şifre alanlarının gizlendiğini unutmayın. Bu kasıtlı olarak yapılır. Çalışanlar, geliştirici konsolu aracılığıyla görev verilerine tam erişime sahip olsa da, %99,99'u sahne arkasında neler olduğunu inceleme zahmetine girmez.
Recaptcha çözmek için "Giriş" butonuna basın. Şablonun son adımı olan "WAIT_CONTROL_TEXT_PRESENT" geçilir. Eklenti, şablonunuzda kalıcı olarak tanımlanan "Test giriş yapılarak geçildi" kontrol ifadesini arar. Sekme otomatik olarak kapanır ve oturum özeti sonuçlar alanında görüntülenir.
Sonuç örneği

Bu özet verileri API’dan da alınabilir. Ancak şablonunuzu API'da kullanılabilir hale getirmek için önce onu yayınlamamız gerekir.

Yayınlama şablonları

Bir şablon yayınlarken 2 seçeneğiniz bulunur: özel veya genel şablon.
  • Özel şablonlara sadece sizin API anahtarınızla ulaşılabilir. Diğer müşteriler bunları kullanamaz. Gözden geçirme ve yayınlama maliyeti: 1$.
  • Genel şablonlar herkese açıktır. Bu şablonla her müşterinin harcamalarından %5 kazanırsınız. Şablonunuzla ilgili bir şey ters giderse, müşterilerimizin yardımınıza başvurabilmesi için bazı iletişim bilgileri bırakmanız gerekecek. Gözden geçirme ve yayınlama maliyeti: 1$.
Her şablonu dikkatle gözden geçiriyoruz. Üretim moduna başarılı bir şekilde geçmek için bazı temel gereksinimleri yerine getirmeniz gerekiyor:
  • Her türlü yasa dışı faaliyet yasaktır.
  • Şablonlar, mevcut şablonların kopyası olmamalıdır.
  • Deneme veya test şablonları göndermeyin.
  • Gözden geçirilmesi için örnek bir web adresi ve değişken değerleri sağlayın. Bir test yapacağız ve bu testin tüm adımlarının başarıyla tamamlanması gerekir.

API talepleri

Yukarıdaki AntiGate şablonu için API'ya bir görev oluşturma isteği bunun kadar basit görünür:

curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"AntiGateTask",
            "websiteURL":"https://anti-captcha.com/demo/?page=recaptcha_v2_textarea",
            "templateName":"Demo sign-in at anti-captcha.com #123456",
            "variables": {
                "login":"some value",
                "password":"some value"
            }
        }
}' https://api.anti-captcha.com/createTask

Yani, şablonu doldurmak için "templateName" ve "değişkenler" parametrelerini iletirsiniz.

Görev sonuçlarını kullanarak

AntiGate görevleri return başarıyla tamamlandı "çerezler", "localStorage", "parmak izi" ve "url" içeren bir çözüm. Yazılımınızın yapması gereken, bu istekte "cookies" kullanarak "url "ye gitmek ve en azından tarayıcının User-Agent'ı için "fingerprint.self.navigator.userAgent" değerini kullanmaktır. Daha karmaşık web siteleri, önemli verileri çerezlerin bir tür modern versiyonu olan localStorage'da depolar. Bu durumda, herhangi bir Javascript'i çalıştırmadan önce bu verileri sayfaya enjekte etmeniz gerekecektir. Bunlar Puppeteer gibi geliştirme ortamlarında yapılabilir. Bu konu muhtemelen başka bir makaleyi hak ediyor.

Kendi şablonlarınızı oluşturarak

Örnek şablonu yüklemeden yukarıdaki adımları izlemeniz yeterli. Tüm bilgileri girin ve adımları dikkatlice ekleyin. Tüm adımların sırasıyla gerçekleştirileceğini unutmayın. Eklenti, mevcut adım tamamlanmadan bir sonraki adımın gerçekleştirilmesine izin vermez. Şablonunuzu istediğiniz zaman kaydedebilir ve çalışanın tarayıcı eklentisi ile bunu test edebilirsiniz.

Fiyatlar

1000 görev için güncel fiyatımız 2$’dır. Ayrıca, görev gerçekleştirmenin her saniyesi, görev fiyatının 1/60'ına mal olur. Örneğin, görevin maliyeti 0,002$ ve çalışan bunu çözmek için 20 saniye harcadı diyelim.
Nihai maliyeti $0,00266 = 0.002 + (0.002 / 60 * 20) olacaktır.