Menu

Anti-bot scherm omzeilen

Dit type taak waarbij onze werker naar een webpagina van uw keuze navigeert, elk anti-bot scherm omzeilt, cookies pakt en terugstuurt naar uw app. U kunt dan deze cookies gebruiken om vrij te navigeren op deze website met uw favoriete programmeertaal. Om dit soort bot-catching pagina's met succes te omzeilen, heb je ook de User-Agent waarde van de browser van onze werker nodig en moet je ons een proxy van goede kwaliteit leveren. Zonder proxies werkt deze methode niet, omdat alle anti-bot oplossingen hun cookies matchen met het IP adres van de bezoeker en hun User-Agent.
Anti-bot scherm voorbeeld
Wat we pakken op de laatste pagina:
  • Cookies
  • Browser vingerafdruk
  • Headers van een laatste HTTP verzoek gemaakt vanuit het hoofdvenster frame

Deze technologie is gebouwd op onze AntiGate sjablonen, behalve dat we de sjablonen zelf beheren en up-to-date houden. Voor het gebruik van dit type taak is een abonnement nodig, met een kostprijs van 5 credits voor elke taak. Abonnementsprijzen beginnen vanaf $9,90 per maand met 5.000 bypasses inbegrepen. Als u er geen wilt kopen, kunt u zelf een sjabloon bouwen met deze handleiding en blijven betalen uit uw saldo tegen kosten van ongeveer $0,002 per taak.

Het hele proces wordt gestuurd door een browser-plugin, die onze werkers installeren voordat ze opdrachten krijgen. Ze doen niets handmatig, in principe wordt automatisch een nieuw tabblad geopend met uw proxy ingeschakeld, navigeert naar de pagina van uw keuze, wacht tot het anti-bot scherm is gepasseerd, pakt gegevens, sluit het tabblad en geeft de gegevens door aan uw app via API.

Alleen proxies van hoge kwaliteit worden geaccepteerd, geen hostnamen, geen "residentiële proxies", geen gedeelde proxy pools. Het huren van een VPS in USA/Europa en het installeren van een SQUID server met onze instructies zal altijd werken. Proxies worden gecontroleerd op snelheid en compatibiliteit voordat de taak wordt uitgevoerd. Ze moeten een snelle reactietijd van minder dan 1 seconde hebben, anders zullen de werkers uw taken annuleren.

Controleer of een website een anti-botscherm heeft:

Deze wordt nog niet ondersteund. Contacteer ons via tickets om ondersteuning aan te vragen.

Merk op dat sommige anti-bot schermen gebruik maken van geavanceerde fingerprinting technieken zoals SSL handshake fingerprinting, die kunnen identificeren welk soort SSL/TLS client verbinding maakt met de website. De Chrome browser heeft bijvoorbeeld één vingerafdruk, Firefox een andere en CURL een heel andere. Verwar jezelf niet met een User-Agent, dat is iets op een lager niveau. In dit geval zul je, om onze dienst te kunnen gebruiken, dezelfde browserinstantie moeten gebruiken om de sessie van onze werker te reconstrueren. Aangezien de meeste van onze medewerkers de Chrome browser gebruiken, zal een bundel van NodeJS+Puppeteer+Chromium of Selenium+Chromedriver het werk doen. Voorbeelden.

Taak object

EigenschapTypeVerplichtDoel
typeStringJaAntiBotCookieTask
websiteURLStringJaAdres van een doel webpagina waar onze medewerker heen zal navigeren.
proxyAddressStringJaProxy IP-adres ipv4/ipv6. Geen hostnamen of IP-adressen van lokale netwerken.
proxyPortIntegerJaProxy poort
proxyLoginStringJaLogin voor proxy die autorisatie vereist (basis)
proxyPasswordStringJaProxy wachtwoord

Voorbeeld aanvraag

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)

Taak oplossing object

EigenschapTypeDoel
cookiesObjectCookies van de pagina achter het anti-bot scherm. Voeg ze allemaal samen en gebruik ze in je HTTP-verzoeken.
localStorageObjectNet als bij cookies, een object met localStorage waarden die op de laatste pagina zijn opgehaald.
fingerprintObjectBrowser fingerprint parameters. Gebruik ze samen met cookies en localStorage om de browsersessie van de werknemer opnieuw te maken in uw software.
Gebruik de waarde "self.navigator.userAgent" als user-agent in je HTTP-verzoeken.
urlStringURL van de pagina waar de uitvoering van het sjabloon werd beëindigd
lastRequestHeadersReeksLaatste verzoekheaders die vanuit het hoofdvenster van de browser naar de website zijn gestuurd.

Voorbeeld reactie

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