دورزدن صفحه ضد-ربات
- کوکی ها
- اثر انگشت مرورگر
- هدرهای آخرین درخواست HTTP که از قاب پنجره اصلی ایجاد شدهاند.
این تکنولوژی بر اساس تکنولوژی قالب های AntiGate ساخته شده است، به جز این که ما خودمان قالبها را مدیریت میکنیم و آنها را بهروز نگه میداریم. استفاده از این وظیفه به اشتراک با هزینه ۵ اعتبار برای هر وظیفه نیاز دارد. قیمتهای اشتراک از ۹.۹۰ دلار در ماه شامل ۵۰۰۰ مورد دورزدن شروع میشوند. اگر دوست ندارید اشتراک بخرید میتوانید خودتان با این خودآموز یک قالب بسازید و پرداخت را از موجودی خودتان با هزینه ۰.۰۰۲ دلار برای هر وظیفه انجام دهید.
فقط پروکسیهای باکیفیت بالا پذیرفته میشوند و نه هاستنیم، نه «پروکسیهای خانگی»، نه استخرهای پروکسی مشترک. اجارۀ یک VPS در آمریکا و اروپا و نصب یک سرور SQUID بر اساس آموزش دستورالعمل ها ما همیشه قابلانجام است. پروکسیها قبل از اجرای وظیفه از نظر سرعت و سازگاری چک میشوند. آنها باید زمان پاسخ سریع زیر ۱ ثانیه داشته باشند در غیر این صورت کارگران وظایف شما را لغو خواهند کرد.
بررسی کنید که آیا وبسایت از صفحه ضد ربات پشتیبانی میکند یا خیر:
توجه کنید که برخی صفحات ضد-ربات از تکنیکهای اثرانگشت گیری پیشرفتهای مثل SSL handshake fingerprinting استفاده میکنند که بهسادگی میتواند نوع کلاینت SSL/TLS متصل به وبسایت را شناسایی کند. مثلاً مرورگر کروم یک اثر انگشت دارد، فایرفاکس اثرانگشت دیگری دارد و CURL اثرانگشت کاملاً متفاوتی دارد. آن را با «عامل کاربر» اشتباه نگیرید، این قابلیت در سطح پایینتری است. در این حالت برای استفاده از خدمات ما به نمونه مرورگر یکسانی برای بازسازی جلسه کارگر ما نیاز دارید. چون اکثر کارگران ما از مرورگر کروم استفاده میکنند، با یک باندل NodeJS+Puppeteer+Chromium یا Selenium+Chromedriver میتوانید این کار را بهخوبی انجام دهید. مثالهای آن در بخش بعد ذکر شدهاند.
شیء وظیفه
خصوصیت | نوع | ضروری | هدف |
---|---|---|---|
type | رشته | بله | AntiBotCookieTask |
websiteURL | رشته | بله | آدرس صفحه اینترنتی هدف که کارگر ما به آن خواهد رفت. |
proxyAddress | رشته | بله | آدرس IP پروکسی ipv4/ipv6. بدون نام میزبان یا آدرسهای IP متعلق به شبکههای محلی |
proxyPort | عدد صحیح | بله | پورت (درگاه) پروکسی |
proxyLogin | رشته | بله | نام کاربری برای پروکسی که نیاز به احراز هویت دارد (پایه) |
proxyPassword | رشته | بله | رمز عبور پروکسی |
نمونه درخواست
#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
}