Menu

دورزدن صفحه ضد-ربات

در این نوع وظیفه، کارگر ما یک صفحه وب را به انتخاب شما پیمایش می‌کند، همه صفحه‌های ضد ربات را دور می‌زند، کوکی‌ها را می‌گیرد و به اپ شما برمی‌گرداند. شما می‌توانید بعداً از این کوکی‌ها برای حرکت آزادانه با زبان برنامه‌نویسی محبوب خودتان در این وب‌سایت استفاده کنید. برای دورزدن موفقیت‌آمیز این نوع صفحات «صید ربات»، به مقدار User-Agent مرورگر کارگر ما و فراهم‌کردن یک پروکسی باکیفیت خوب نیاز دارید. این روش بدون پروکسی کار نخواهد کرد، زیرا همه راه‌حل‌های ضد ربات، کوکی‌های خود را با آدرس IP بازدیدکننده و «عامل کاربر» آنها مطابقت می‌دهند.
نمونه صفحه ضد-ربات
آنچه در صفحه پایانی می گیریم:
  • کوکی ها
  • اثر انگشت مرورگر
  • هدرهای آخرین درخواست HTTP که از قاب پنجره اصلی ایجاد شده‌اند.

این تکنولوژی بر اساس تکنولوژی قالب های AntiGate ساخته شده است، به جز این که ما خودمان قالب‌ها را مدیریت می‌کنیم و آنها را به‌روز نگه می‌داریم. استفاده از این وظیفه به اشتراک با هزینه ۵ اعتبار برای هر وظیفه نیاز دارد. قیمت‌های اشتراک از ۹.۹۰ دلار در ماه شامل ۵۰۰۰ مورد دورزدن شروع می‌شوند. اگر دوست ندارید اشتراک بخرید می‌توانید خودتان با این خودآموز یک قالب بسازید و پرداخت را از موجودی خودتان با هزینه ۰.۰۰۲ دلار برای هر وظیفه انجام دهید.

کل این فرایند با یک پلاگین مرورگر کنترل می‌شود که کارگران ما آن را قبل از دریافت وظیفه‌ها نصب می‌کنند. آنها هیچ کاری را به‌صورت دستی انجام نمی‌دهند، در اصل یک برگه (تب) جدید به طور خودکار با پروکسی فعال شما باز می‌شود، به صفحه منتخب شما می‌رود، منتظر می‌ماند تا صفحه آنتی ربات منتقل شود، داده‌ها را می‌گیرد، برگه را می‌بندد و داده‌ها را از طریق API به برنامه شما ارسال می‌کند.

فقط پروکسی‌های باکیفیت بالا پذیرفته می‌شوند و نه هاست‌نیم، نه «پروکسی‌های خانگی»، نه استخرهای پروکسی مشترک. اجارۀ یک VPS در آمریکا و اروپا و نصب یک سرور SQUID بر اساس آموزش دستورالعمل ها ما همیشه قابل‌انجام است. پروکسی‌ها قبل از اجرای وظیفه از نظر سرعت و سازگاری چک می‌شوند. آنها باید زمان پاسخ سریع زیر ۱ ثانیه داشته باشند در غیر این صورت کارگران وظایف شما را لغو خواهند کرد.

بررسی کنید که آیا وب‌سایت از صفحه ضد ربات پشتیبانی می‌کند یا خیر:

این یکی هنوز پشتیبانی نمی‌شود. برای درخواست پشتیبانی از طریق تیکت با ما تماس بگیرید.

توجه کنید که برخی صفحات ضد-ربات از تکنیک‌های اثرانگشت گیری پیشرفته‌ای مثل SSL handshake fingerprinting استفاده می‌کنند که به‌سادگی می‌تواند نوع کلاینت SSL/TLS متصل به وب‌سایت را شناسایی کند. مثلاً مرورگر کروم یک اثر انگشت دارد، فایرفاکس اثرانگشت دیگری دارد و CURL اثرانگشت کاملاً متفاوتی دارد. آن را با «عامل کاربر» اشتباه نگیرید، این قابلیت در سطح پایین‌تری است. در این حالت برای استفاده از خدمات ما به نمونه مرورگر یکسانی برای بازسازی جلسه کارگر ما نیاز دارید. چون اکثر کارگران ما از مرورگر کروم استفاده می‌کنند، با یک باندل 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شیءکوکی‌های صفحۀ پشت صفحه آنتی ربات. همه آنها را ادغام کنید و از آن در درخواست‌های HTTP تان استفاده کنید.
localStorageشیءشبیه به کوکی‌ها، شیئی با مقادیر دیسک محلی که در صفحه آخر گرفته شده است.
fingerprintشیءپارامترهای اثر انگشت مرورگر. برای بازسازی نشست مرورگر کارگر در نرم‌افزارتان، از این پارامترها به همراه کوکی‌ها و ذخیره‌سازی محلی استفاده کنید.
از مقدار "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
}