Menu

تجاوز شاشة مكافحة الروبوت

هذا النوع من المهام حيث ينتقل عاملنا إلى صفحة ويب من اختيارك ، ويتجاوز أي شاشة مضادة للروبوتات ، ويلتقط ملفات تعريف الارتباط ويعيدها إلى تطبيقك. يمكنك بعد ذلك استخدام ملفات تعريف الارتباط هذه للتنقل بحرية في هذا الموقع باستخدام لغة البرمجة المفضلة لديك. لتجاوز هذا النوع من صفحات التقاط الروبوت بنجاح ، ستحتاج أيضًا إلى قيمة User-Agent لمتصفح العامل لدينا وتزويدنا بوكيل بجودة جيدة. لن تعمل هذه الطريقة بدون وكلاء ، لأن جميع حلول مكافحة الروبوت تطابق ملفات تعريف الارتباط الخاصة بهم مع عنوان IP للزائر ووكيل المستخدم الخاص بهم.
مثال على شاشة مكافحة الروبوت
ما نحصل عليه في الصفحة الأخيرة:
  • بسكويت
  • بصمة المتصفح
  • رؤوس طلب HTTP الأخير تم إجراؤه من إطار النافذة الرئيسية

هذه التقنية مبنية على قوالب AntiGate ، باستثناء أننا ندير النماذج بأنفسنا ونعمل على تحديثها باستمرار. سيتطلب استخدام هذا النوع من المهام الاشتراك ، بتكلفة 5 أرصدة لكل مهمة. تبدأ أسعار الاشتراك من 9.90 دولارًا أمريكيًا في الشهر مع تضمين 5000 تجاوز. إذا كنت لا ترغب في شراء واحدة ، يمكنك إنشاء نموذج بنفسك باستخدام هذا الدورة التعليمية ومواصلة الدفع من رصيدك بتكلفة حوالي 0.002 دولار لكل مهمة.

يتم التحكم في كل العملية بواسطة مكون إضافي للمتصفح ، يقوم عمالنا بتثبيته قبل استلام المهام. إنهم لا يفعلون أي شيء يدويًا ، حيث يتم فتح علامة تبويب جديدة تلقائيًا مع تمكين الوكيل الخاص بك ، وينتقل إلى الصفحة التي تختارها ، وينتظر حتى يتم تمرير شاشة مكافحة الروبوت ، ويحصل على البيانات ، ويغلق علامة التبويب ويمرر البيانات إلى التطبيق الخاص بك عبر API.

لا يتم قبول سوى الخوادم الوكيلة عالية الجودة ، ولا توجد أسماء مضيفين ، ولا "خوادم وكيلة محلية" ، ولا توجد مجموعات بروكسي مشتركة. إن استئجار VPS في الولايات المتحدة الأمريكية / أوروبا وتثبيت خادم SQUID باستخدام تعليمات سيعمل دائمًا. يتم فحص البروكسيات من حيث السرعة والتوافق قبل تنفيذ المهمة. يجب أن يكون لديهم وقت استجابة سريع أقل من ثانية واحدة ، وإلا سيقوم العمال بإلغاء مهامك.

تحقق مما إذا كان أحد مواقع الويب يدعم شاشة مكافحة الروبوت:

هذا واحد غير معتمد حتى الآن. اتصل بنا عبر التذاكر لطلب الدعم.

لاحظ أن بعض الشاشات المضادة للروبوتات تستخدم تقنيات متقدمة لبصمات الأصابع مثل SSL handshake fingerprinting ، والتي يمكنها تحديد نوع عميل SSL / TLS الذي يتصل بموقع الويب. على سبيل المثال ، يحتوي متصفح Chrome على بصمة إصبع واحدة و Firefox أخرى و CURL بصمة مختلفة تمامًا. لا تخلط بين نفسك وبين وكيل المستخدم ، فهو شيء على مستوى أدنى. في هذه الحالة لاستخدام خدمتنا ، ستحتاج إلى استخدام نسخة المتصفح نفسها لإعادة بناء جلسة عملنا. نظرًا لأن معظم عمالنا يستخدمون متصفح Chrome ، فإن مجموعة من NodeJS + Puppeteer + Chromium أو Selenium + Chromedriver ستؤدي المهمة. وشملت الأمثلة.

Task object

الخاصيةنوع الخاصيةالأهميةالوظيفة
typeStringمطلوبةAntiBotCookieTask
websiteURLStringمطلوبةعنوان صفحة الويب المستهدفة التي سيتوجه إليها العامل الخاص بنا
proxyAddressStringمطلوبةعنوان IP البروكسي ipv4 / ipv6. لا توجد أسماء مضيفين أو عناوين IP من الشبكات المحلية.
proxyPortIntegerمطلوبةمنفذ البروكسي
proxyLoginStringمطلوبةتسجيل دخول البروكسي الذي يتطلب التفويض (متطلب أساسي)
proxyPasswordStringمطلوبةكلمة مرور البروكسي

مثال على الطلب

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)

حل المهمة

الخاصيةنوع الخاصيةالوظيفة
cookiesObjectملفات تعريف الارتباط من الصفحة خلف شاشة مكافحة الروبوتات. انضم إليهم جميعًا واستخدمهم في طلبات HTTP الخاصة بك.
localStorageObjectمشابه لملفات الارتباط، وهو عبارة عن كائن يحتوي على قيم التخزين المحلي التي تم استخراجها من أخر صفحة.
fingerprintObjectعوامل بصمة المتصفح: ينبغي أن يتم استخدامها مع ملفات الارتباط وخاصية التخزين المحلي من أجل إعادة إنشاء جلسة متصفح للعامل في البرنامج الخاص بك.
استخدم قيمة "self.navigator.userAgent" كوكيل مستخدم في طلبات HTTP الخاصة بك.
urlStringعنوان صفحة الويب التي تم إنهاء تنفيذ القالب عليها.
lastRequestHeadersArrayرؤوس الطلبات الأخيرة التي تم إرسالها إلى موقع الويب من إطار النافذة الرئيسية للمتصفح.

مثال على الاستجابة

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