Підтримувані типи завдань
Методи API
Статті
Уроки
GitHub
Tutorial pages

Обхід антиботового екрану

Це тип завдання, коли наш працівник переходить на веб-сторінку за вашим вибором, обходить будь-який анти-бот екран, захоплює файли cookie та повертає їх до вашого додатку. Потім ви можете використовувати ці файли cookie для вільної навігації на цьому веб-сайті за допомогою вашої улюбленої мови програмування. Для успішного обходу такого роду сторінок, що відловлюють ботів, вам також знадобиться значення User-Agent браузера нашого працівника та надання нам проксі хорошої якості. Без проксі цей метод не спрацює, оскільки всі анти-бот рішення зіставляють свої куки з IP-адресою відвідувача і його User-Agent.
Приклад екрану з анти-ботами
Те, за що ми хапаємося на останній сторінці:
  • Печиво
  • Відбиток пальця браузера
  • Заголовки останнього HTTP-запиту, зробленого з фрейму головного вікна

Ця технологія побудована на нашій Шаблони AntiGate, за винятком того, що ми самі керуємо шаблонами та підтримуємо їх в актуальному стані. Використання цього типу завдань потребуватиме підписка, з вартістю 5 кредитів за кожне завдання. Ціни на підписку починаються від $9.90 на місяць з включеними 5,000 обходів. Якщо ви не хочете купувати його, ви можете створити шаблон самостійно, використовуючи цей навчальний посібник, і продовжувати платити зі свого балансу за вартістю близько $0,002 за завдання.

Весь процес контролюється плагіном для браузера, який наші співробітники встановлюють перед отриманням завдання. Вони нічого не роблять вручну, в основному автоматично відкривається нова вкладка з увімкненим проксі, переходить на обрану вами сторінку, чекає, поки пройде анти-бот екран, перехоплює дані, закриває вкладку і передає дані вашому додатку через API.

Приймаються тільки якісні проксі, ніяких імен хостів, ніяких "резидентних проксі", ніяких загальних проксі-пулів. Оренда VPS в США/Європі і установка SQUID сервера з нашими інструкції завжди буде працювати. Перед виконанням завдання проксі-сервери перевіряються на швидкість і сумісність. Вони повинні мати швидкий час відгуку нижче 1 секунди, інакше працівники скасують ваші завдання.

Перевірте, чи підтримує сайт анти-бот:

Зверніть увагу, що деякі екрани для захисту від ботів використовують просунуті методи відбитків пальців, такі як SSL handshake fingerprinting, які можуть визначити, який тип SSL/TLS-клієнта з'єднується з веб-сайтом. Наприклад, браузер Chrome має один відбиток, Firefox - інший, а CURL - зовсім інший. Не плутайте себе з User-Agent, це щось на нижчому рівні. У цьому випадку, щоб скористатися нашим сервісом, вам потрібно буде використовувати той самий екземпляр браузера для реконструкції сесії нашого працівника. Оскільки більшість наших працівників використовують браузер Chrome, набір NodeJS+Puppeteer+Chromium або Selenium+Chromedriver зробить цю роботу. Приклади додаються.

Об'єкт завдання

ВластивістьТипОбов’язковоПризначення
typeРядокТакAntiBotCookieTask
websiteURLРядокТакАдреса цільової веб-сторінки, на яку буде переміщатися наш працівник.
proxyAddressРядокТакIP-адреса проксі-сервера ipv4/ipv6. Немає імен хостів або IP-адрес з локальних мереж.
proxyPortЦілочисельнийТакПроксі-порт
proxyLoginРядокТакВхід для проксі-сервера, який вимагає авторизації (базовий)
proxyPasswordРядокТакПароль проксі

Приклад запиту

Python
Javascript
PHP
#pip3 install anticaptchaofficial

from anticaptchaofficial.antibotcookietask import *
import requests

solver = antibotcookieTask()
solver.set_verbose(1)
solver.set_key("API_KEY_HERE")
solver.set_website_url("https://www.somewebsite.com/")
solver.set_proxy_address("1.2.3.4")
solver.set_proxy_port(3128)
solver.set_proxy_login("login")
solver.set_proxy_password("password")

# Specify softId to earn 10% commission with your app.
# Get your softId here: https://anti-captcha.com/clients/tools/devcenter
solver.set_soft_id(0)

result = solver.solve_and_return_solution()
if result == 0:
    print("could not solve task")
    exit()

print(result)

cookies, localStorage, fingerprint = result["cookies"], result["localStorage"], result["fingerprint"]

if len(cookies) == 0:
    print("empty cookies, try again")
    exit()

cookie_string = '; '.join([f'{key}={value}' for key, value in cookies.items()])
user_agent = fingerprint['self.navigator.userAgent']
print(f"use these cookies for requests: {cookie_string}")
print(f"use this user-agent for requests: {user_agent}")

s = requests.Session()
proxies = {
  "http": "http://login:password@1.2.3.4:3128",
  "https": "http://login:password@1.2.3.4:3128"
}
s.proxies = proxies

content = s.get("https://www.somewebsite.com/", headers={
    "Cookie": cookie_string,
    "User-Agent": user_agent
}).text
print(content)

Об’єкт рішення завдання

ВластивістьТипПризначення
cookiesОб'єктФайли cookie зі сторінки, що знаходиться за екраном анти-ботів. Об'єднайте їх усі разом і використовуйте у своїх HTTP-запитах.
localStorageОб'єктПодібно до файлів cookie, об’єкт зі значеннями localStorage захоплений на останній сторінці.
fingerprintОб'єктПараметри цифрового відбитку браузера. Використовуйте їх разом із файлами cookie та localStorage, щоб відтворити сеанс робочого браузера у вашому програмному забезпеченні.
Використовуйте значення self.navigator.userAgent в якості агента користувача у своїх HTTP-запитах.
urlРядокURL сторінки, на якій було завершено виконання шаблону
lastRequestHeadersМасивЗаголовки останніх запитів, які були надіслані на сайт з фрейму головного вікна браузера.

Приклад відповіді

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "cookies": {
            "some_antibotcookie": "0A8VO9NX5N1s4LRoS4sJlFTCNzLj0dEfA_2whUh0E6ZjgQtM~I1cV7U2IhQx0~jnowNjg-Oi76b-MjYPd1GQAmIxh5-v~33PI8F",
            "maybe_another_id": "join_all_cookies_together"
        },
        "localStorage": {
            "some_value": "Might be used too in the future as a method to 'remember' visitors, so we collect it too.",
            "what_is_it": "localStorage is a more complex analogue of cookies, allowing to store larger objects in browser memory"
        },
        "fingerprint": {
            "self.navigator.userAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.0.0 Safari\/537.36",
            "self.screen.width": 1280,
            "self.screen.height": 768,
            "self.screen.availWidth": 1280,
            "self.screen.availHeight": 768,
            "self.screen.availLeft": 0,
            "self.screen.availTop": 25,
            "self.navigator.vendorSub": "",
            "self.navigator.productSub": "20030107",
            "self.navigator.vendor": "Google Inc.",
            "self.navigator.maxTouchPoints": 0,
            "self.navigator.hardwareConcurrency": 8,
            "self.navigator.cookieEnabled": true,
            "self.navigator.appCodeName": "Mozilla",
            "self.navigator.appName": "Netscape",
            "self.navigator.appVersion": "5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.0.0 Safari\/537.36",
            "self.navigator.platform": "MacIntel",
            "self.navigator.product": "Gecko",
            "self.navigator.language": "en-US",
            "self.navigator.onLine": true,
            "self.navigator.deviceMemory": 4
        },
        "url": "https://www.thewebsite.com/some/final/path/after_redirects",
        "lastRequestHeaders": [
            "sec-ch-device-memory: 8",
            "sec-ch-ua: \" Not A;Brand\";v=\"99\", \"Chromium\";v=\"101\", \"Google Chrome\";v=\"101\"",
            "sec-ch-ua-mobile: ?0",
            "sec-ch-ua-arch: \"x86\"",
            "sec-ch-ua-platform: \"macOS\"",
            "sec-ch-ua-model: \"\"",
            "sec-ch-ua-full-version-list: \" Not A;Brand\";v=\"99.0.0.0\", \"Chromium\";v=\"101.0.5005.115\", \"Google Chrome\";v=\"101.0.5005.115\"",
            "Upgrade-Insecure-Requests: 1",
            "User-Agent: Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/101.0.0.0 Safari\/537.36",
            "Accept: text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/avif,image\/webp,image\/apng,*\/*;q=0.8,application\/signed-exchange;v=b3;q=0.9",
            "Sec-Fetch-Site: same-origin",
            "Sec-Fetch-Mode: navigate",
            "Sec-Fetch-Dest: document",
            "Referer: https:\/\/somewebsite.com\/",
            "Accept-Encoding: gzip, deflate, br",
            "Accept-Language: en-US,en;q=0.9",
            "Cookie: some_antibotcookie=0A8VO9NX5N1s4LRoS4sJlFTCNzLj0dEfA_2whUh0E6ZjgQtM~I1cV7U2IhQx0~jnowNjg-Oi76b-MjYPd1GQAmIxh5-v~33PI8F"
        ]
    },
    "cost": "0.00858",
    "ip": "5.25.11.114",
    "createTime": 1637841143,
    "endTime": 1637841189,
    "solveCount": 0
}