Menu

Obejście ekranu antybotowego

To rodzaj zadania, w którym nasz pracownik przechodzi na wybraną przez Ciebie stronę internetową, omija wszelkie ekrany antybotowe, łapie ciasteczka i zwraca je do Twojej aplikacji. Następnie możesz użyć tych ciasteczek do swobodnego poruszania się po tej stronie za pomocą swojego ulubionego języka programowania. Aby skutecznie ominąć tego typu strony wyłapujące boty, potrzebna będzie również wartość User-Agent przeglądarki naszego pracownika oraz dostarczenie nam dobrej jakości proxy. Bez proxy ta metoda nie zadziała, ponieważ wszystkie rozwiązania antybotowe dopasowują swoje ciasteczka do adresu IP odwiedzającego i jego User-Agent.
Przykład ekranu antybota
Co chwytamy na ostatniej stronie:
  • Cookies
  • Odcisk palca przeglądarki
  • Nagłówki ostatniego żądania HTTP wykonanego z głównej ramki okna

Ta technologia jest zbudowana na naszym Szablony AntiGate, z tą różnicą, że sami zarządzamy szablonami i utrzymujemy ich aktualizację. Korzystanie z tego typu zadań będzie wymagało subskrypcja, a koszt 5 kredytów za każde zadanie. Ceny subskrypcji zaczynają się od 9,90$ miesięcznie z 5,000 obejść wliczonych w cenę. Jeśli nie lubisz kupować, możesz sam zbudować szablon używając tego samouczek i nadal płacić ze swojego salda przy koszcie około $0.002 za zadanie.

Cały proces jest kontrolowany przez plugin do przeglądarki, który nasi pracownicy instalują przed otrzymaniem zlecenia. Nie robią nic ręcznie, w zasadzie nowa karta jest otwierana automatycznie z włączonym proxy, nawiguje do wybranej strony, czeka, aż ekran antybotowy przejdzie, pobiera dane, zamyka kartę i przekazuje dane do Twojej aplikacji za pośrednictwem API.

Akceptowane są tylko wysokiej jakości proxy, żadnych hostnames, żadnych "residential proxies", żadnych shared proxy pools. Wynajęcie VPS w USA/Europie i zainstalowanie serwera SQUID z naszym instrukcje zawsze będzie działać. Proxy są sprawdzane pod kątem szybkości i kompatybilności przed wykonaniem zadania. Muszą mieć szybki czas odpowiedzi poniżej 1 sekundy, w przeciwnym razie pracownicy anulują Twoje zadania.

Sprawdź, czy strona internetowa ma obsługiwane sito antybotowe:

Ten nie jest jeszcze obsługiwany. Skontaktuj się z nami poprzez bilety, aby poprosić o wsparcie.

Zauważ, że niektóre ekrany antybotowe wykorzystują zaawansowane techniki fingerprintingu, takie jak SSL handshake fingerprinting, które mogą zidentyfikować, jaki rodzaj klienta SSL/TLS łączy się ze stroną internetową. Na przykład przeglądarka Chrome ma jeden odcisk palca, Firefox inny, a CURL zupełnie inny. Nie należy mylić z User-Agentem, jest to coś na niższym poziomie. W tym przypadku, aby skorzystać z naszej usługi, będziesz musiał użyć tej samej instancji przeglądarki, aby odtworzyć sesję naszego pracownika. Ponieważ większość naszych pracowników korzysta z przeglądarki Chrome, pakiet NodeJS+Puppeteer+Chromium lub Selenium+Chromedriver załatwi sprawę. Przykłady obejmowały.

Obiekt zadanie

Właściwość/atrybutTypWymaganyPrzeznaczenie
typeŁańcuch znaków (String)TakAntiBotCookieTask
websiteURLŁańcuch znaków (String)TakAdres docelowej strony, gdzie skierujemy pracownika.
proxyAddressŁańcuch znaków (String)TakAdres ipv4/ipv6 proxy. Nie stosować nazw hostów ani adresów IP z sieci lokalnych.
proxyPortIntegerTakPort proxy
proxyLoginŁańcuch znaków (String)TakLogin dla proxy wymagających uwierzytelniania (podstawowe)
proxyPasswordŁańcuch znaków (String)TakHasło proxy

Przykład żądania

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)

Obiekt rozwiązanie zadania

Właściwość/atrybutTypPrzeznaczenie
cookiesObiekt (object)Ciasteczka ze strony za ekranem antybotowym. Połącz je wszystkie razem i użyj w swoich żądaniach HTTP.
localStorageObiekt (object)Podobnie jak ciasteczka, obiekt z wartościami localStorage przechwycony na ostatniej stronie.
fingerprintObiekt (object)Parametry sygnatury przeglądarki. Wraz z ciasteczkami i localStorage wykorzystasz je do odtworzenia sesji przeglądarki pracownika w swojej aplikacji.
Użyj wartości "self.navigator.userAgent" jako agenta użytkownika w żądaniach HTTP.
urlŁańcuch znaków (String)URL strony na której zakończono wykonywanie szablonu
lastRequestHeadersTablica (Array)Ostatnie nagłówki żądań, które zostały wysłane do strony internetowej z głównej ramki okna przeglądarki.

Przykład odpowiedzi

{
    "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
}