Belgeler menüsü

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

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 olarak, API’mız ile bir görev oluşturursunuz. Bir çalışan, özel tarayıcı eklentimiz ile web sitenize gider ve tüm senaryo adımlarını elle veya otomatik olarak gerçekleştirir. Komut dizisinin 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, çalışan oturumumuzu geri yüklemek ve işlemlere bir insan kullanıcıymış gibi devam etmek için bu verileri kullanmanızdır. Sizce de harika değil mi? :)

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ı. Bir kez kaydedildikten sonra değiştirilemez. Bir kez yayınlandıktan sonra şablonunuz bu ad ile API’da mevcut 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, adımlarda kalıcı değerler yerine kullanmak üzere ekleyebileceğiniz değişken adlarının bir listesidir. Bu örnekte 2 değişkenimiz bulunuyor: "kullanıcı adı" ve "şifre". Bu 2 değişken, temsili oturum açma formunu doldurmak için 1. ve 2. adımlarda kullanılır. Böylece, şablona kalıcı bir kullanıcı adı ve şifreyi kodlamak yerine API aracılığıyla bu değerleri girebilirsiniz.
    1. ve 2. adımlarda kullanılan değişkenler
  • Çalışanın adımları. Burada, senaryo adımlarını düzenleyebilir ve sırasını değiştirebilirsiniz. Örneğimizde şunları 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.

Daha sonra, şablon kartında "test" butonuna basın.

Talimatları takip edin ve platformunuzu destekleyen eklentiyi indirin. Daha sonra, geçerli olması için sayfayı yeniden yükleyin, "kullanıcı adı" ve "şifre" değişkenlerini bazı rastgele değerlerle doldurun ve "Testi Başlat" butonuna basın. Şunun gibi görünecek yeni bir sayfa açılacaktı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: 10$.
  • 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.
  • Yalnızca herhangi bir web sitesi veya hizmetle ilişkili olmayan nötr şablon adları kullanın.
  • 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
          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/tutorials/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 "çerezler" 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 gerekir. Bunu Puppeteer gibi geliştirme ortamında yapabilirsiniz. Bu konunun hakkını vermek için muhtemelen başka bir makale gerekecektir.

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.

Sonuç olarak

Bu makalenin yazıldığı Aralık 2021 tarihinde bu özellik hala "beta" statüsündeydi. AntiGate görevleriyle ilgili yorum ve önerilerinizi destek talepleriyle göndermekten lütfen çekinmeyin.