انتقل إلى المحتوى

كيفية تجاوز اكتشاف Cloudflare باستخدام السيلينيوم

هل تبحث عن طريقة لتجاوز اكتشاف Cloudflare عند ترميز الروبوت الخاص بك في Python؟ فأنت في الصفحة الصحيحة. توفر المقالة أدناه دليلًا حول كيفية تجاوز Cloudflare باستخدام Python و Selenium.

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

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

يتعرض مستخدمو الإنترنت العاديون لبعض التأخير ويحصلون على "التحقق من المتصفح قبل الوصول ..." رسالة على الشاشة. لكن هذا سوف يمر في النهاية. ومع ذلك ، إذا كنت تستخدم روبوتًا ، فمن المحتمل ألا يُسمح لك بالوصول. يعتقد بعض المطورين أن استخدام متصفح آلي مثل السيلينيوم من شأنه أن يفعل السحر لهم أيضًا.

لسوء الحظ ، تم تصميم Cloudflare لاكتشاف مثل هذا أيضًا. إذن ماذا تفعل وكيف تفعل تجاوز الكشف عن Cloudflare كمطور روبوت يستخدم Python و Cloudflare؟ في هذه المقالة ، سيظهر لك كيفية تجاوز اكتشاف Cloudflare باستخدام Python و Selenium.


نظرة عامة على السيلينيوم

نظرة عامة على السيلينيوم

برنامج تشغيل الويب السيلينيوم هو برنامج آلي للمتصفح. ما تفعله بهذا الأمر متروك لك. يستخدمه البعض لاختبار الموقع ، والبعض الآخر للتعبئة والكشط. إنها أداة متعددة الاستخدامات ، حيث يمكنك استخدامها في العديد من لغات البرمجة الشائعة مثل Python و Java و NodeJS.

كما أنه يدعم المتصفحات الشائعة مثل Chrome و Firefox و Edge و Internet Explorer. ينصب تركيزنا هنا على دعم Python. في Python ، يعد Selenium الأداة الرئيسية لتعبئة وكشط مواقع الويب التي تعتمد على عرض JavaScript. أمثال Scrapy وطلبات و Beautifulsoup ليست مناسبة لمثل هذا.

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

ولكن عندما يكون موقع الويب محميًا بأنظمة مكافحة البريد العشوائي مثل Cloudflare و Akamai ، يصبح السيلينيوم غير فعال. هذا بسبب وجود مؤشرات افتراضية تستخدمها أنظمة مكافحة البريد العشوائي لاكتشاف الروبوتات الموجودة في أداة السيلينيوم الافتراضية.


كيفية تجاوز Cloudflare باستخدام السيلينيوم وبايثون

من خلال الخطوات الصحيحة ، يمكن للسيلينيوم تجاوز Cloudflare بسهولة. قبل الخوض في ذلك ، دعنا نلقي نظرة على مدى نجاح Cloudflare في اكتشاف برامج الروبوت المشفرة باستخدام Python و Selenium. للقيام بذلك ، سنقوم بتشفير روبوت بسيط يحاول الوصول إليه rayobyte.com.

نظرة عامة على Rayobyte

Rayobyte هو مزود وكيل محمي بواسطة Cloudflare. إذا حاولت الوصول إليه باستخدام متصفح ، فيجب فحص متصفحك قبل أن يتم منحك حق الوصول. سنستخدم هذا لاختبار مدى فعالية Cloudflare ثم نبرمج روبوتًا آخر يتضمن إجراءات لتجاوزه.


الخطوة 1: قم بتثبيت الأدوات اللازمة

لكي تتمكن من برمجة روبوت في Python ، يجب أن يكون لديك Python مثبتًا. لهذا المشروع ، تحتاج أيضًا إلى تثبيت السيلينيوم.

  • بايثون

نظرة عامة على بايثون

بالنسبة لمعظم الأنظمة ، تم تثبيت Python بالفعل. ومع ذلك ، فإن الإصدار المثبت هو Python 2 ، والذي يستخدم لأسباب قديمة. ستحتاج إلى تثبيت Python 3 لاستخدام السيلينيوم. قم بزيارة صفحة التنزيل الرسمية لبايثون لتثبيته على نظامك. إنه متاح لأنظمة Windows و macOS و Linux. للتحقق مما إذا تم التثبيت بنجاح ، قم بتشغيل الأمر أدناه في موجه الأوامر.

"بيثون - نسخة"
  • عنصر السيلينيوم

أدوات السيلينيوم

السيلينيوم هو أداة تعبئة كاملة. يقوم بأتمتة المتصفح ، مما يسمح لك بالوصول إلى الصفحات والنقر فوق الأزرار والتمرير وحتى ملء النماذج وتنفيذ أي إجراء يمكنك تنفيذه يدويًا. السيلينيوم هي أداة خارجية.

لكي يعمل ، ستحتاج إلى تثبيته ثم تنزيل ووضع برنامج التشغيل المحدد للمتصفح الذي تريد تشغيله تلقائيًا في المسار.

بالنسبة لهذا الدليل ، سنستخدم Chrome لأنه المتصفح الأكثر شيوعًا هناك.

لتثبيت السيلينيوم ، قم بتشغيل ملف

"نقطة تثبيت السيلينيوم"

الأمر في موجه الأوامر. بمجرد اكتمال التنزيل ، يمكنك الآن زيارة صفحة التنزيل لبرنامج تشغيل الويب Chrome. ج

تحقق من إصدار Chrome لديك وقم بتنزيل برنامج التشغيل خصيصًا لإصدار Chrome الخاص بك. إذا قمت بتنزيل إصدار آخر ، فلن يعمل.

بمجرد التنزيل ، قم بفك ضغط المحتوى في مجلد. سيكون هذا المجلد هو مجلد العمل لهذا المشروع.


الخطوة 2: إرسال طلب إلى موقع الويب بدون خدعة التجاوز

موقعنا الهدف هو rayobyte.com. سنقوم بتشفير البرنامج النصي الذي سيرسل طلبًا إلى هذا الموقع ونرى الرد الذي نحصل عليه.

يوجد أدناه الرمز. الأمر بسيط للغاية. الذي يتطلب المزيد من سطور التعليمات البرمجية هو في الواقع الذي يحتوي على رمز لتجاوز Cloudflare.

استخدم الكود أدناه في Python IDLE المفضل لديك. في حالتي ، أستخدم Pycharm ، وهو حاليًا أفضل IDLE في السوق - وهذا أمر مثير للجدل. المشكلة الرئيسية في أنه يتم دفعها.

من selenium.webdriver ، استيراد متصفح Chrome = Chrome () browser.get ("https://rayobyte.com")

سيؤدي الرمز أعلاه إلى تشغيل متصفح Chrome على نظامك وسيحاول الوصول إلى الصفحة الرئيسية لموقع Rayobyte.

ومع ذلك ، بدلاً من الوصول إلى الصفحة ، سيتم تكرارها وتبقى في صفحة التحقق من Cloudflare. يوجد أدناه لقطة شاشة لما تبدو عليه الصفحة.

إذا قمت بالتحقق من الرمز جيدًا ، فسترى أنني لم أغلقه. هذا لتمكينني من معرفة ما إذا كان سينتهي به الأمر إلى السماح بتحميل الصفحة. ولكن هذا لن يحدث أبدا. يجب عليك إغلاق المتصفح الآلي.

كما رأيت بالفعل ، لا يمكن استخدام السيلينيوم ، بمفرده ، لتجاوز Cloudflare. إذا كنت تريد تجاوز Cloudflare ، فيجب عليك الاستفادة من بعض الحيل. ستوضح لك الخطوة التالية كيفية استخدام نفس السيلينيوم وبايثون لتجاوز Cloudflare.


الخطوة 3: استخدام البرنامج المساعد لتجاوز Cloudflare

باستخدام البرنامج المساعد لتجاوز Cloudflare

كما ترى مما سبق ، تكتشف Cloudflare نصوص السيلينيوم على أنها روبوتات. استخدام الوكلاء لن يساعدك في هذه الحالة. أنت بحاجة إلى طرق أخرى.

أفضل طريقة لتجاوز Cloudflare باستخدام السيلينيوم والثعبان هي استخدام مكتبة معروفة باسم ChromeDriver الذي لم يتم اكتشافه. يمكنك تثبيت هذا باستخدام ملف

"تثبيت الأنابيب غير مكتشفة chromedriver"

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

يوجد أدناه مقتطف رمز يوضح لك كيفية استخدام ChromeDriver غير المكتشف بشكل صحيح لتجاوز Cloudflare.

استيراد undetected_chromedriver كـ uc من selenium.webdriver.support.ui استيراد WebDriverWait driver = uc.Chrome (use_subprocess = True) wait = WebDriverWait (driver، 20) driver.get ("https://rayobyte.com")

بمجرد استخدام مكتبة chromedriver غير المكتشفة ، سترى أنك قادر على تجنب الاكتشاف بواسطة Cloudflare. سيمكنك هذا من أتمتة مهامك أو حتى كشط الويب بحثًا عن البيانات دون مشاكل.


مكان الوكلاء لتجاوز Cloudflare

مكان الوكلاء لتجاوز Cloudflare

إذا نظرت إلى الكود أعلاه ، سترى أنه لم يتم استخدام البروكسيات في العملية برمتها. تبدأ الآن في التساؤل عما إذا كنت بحاجة إلى وكلاء لتجاوز Cloudflare. السبب في ذلك بسيط - نحن نرسل طلبًا واحدًا فقط. إذا كنت تحتاج فقط إلى إرسال بعض الطلبات ، فلن تحتاج إلى استخدام وكيل للقيام بذلك.

ومع ذلك ، إذا كنت سترسل العديد من الطلبات كما تفعل معظم برامج الروبوت ، فأنت بحاجة إلى الاستفادة من البروكسيات.

هذا لأنه ، كما هو الحال مع معظم أنظمة مكافحة الروبوت ، لا يزال تتبع IP أحد الأجزاء الرئيسية لخدمة Cloudflare. وعندما يتلقى عددًا كبيرًا جدًا من الطلبات من نفس عنوان IP ، لا يهم ما إذا كان هناك أثر روبوت أم لا ؛ سيعتبر عنوان IP هذا مشبوهًا ، وعلى هذا النحو ، سيتم حظر المزيد من الطلبات.

نوصيك باستخدام البروكسيات السكنية لتجاوز Cloudflare. بعض من أفضل مزودي البروكسي لهذه تشمل Bright Data و Smartproxy و Soax. إذا لم تكن بحاجة إلى الحفاظ على الجلسات ، فإن استخدام البروكسيات الدورية من هؤلاء المزودين هو الأفضل لتجاوز Cloudflare.


الأسئلة الشائعة

س: هل البروكسيات تحمي من انسداد Cloudflare؟

لا ، لم يفعلوا ذلك. قد ترى أن بعض الوكلاء يسوقون أنفسهم كوكلاء لتجاوز Cloudflare. الواقع على الأرض هو عكس ذلك. الوكلاء وحدهم لن يحميك من انسداد Cloudflare. تحتاج إلى الاستفادة من الأدوات التي يمكن أن تحاكي متصفحات المستخدم العادية ، وهذا هو المكان الذي يأتي فيه استخدام ChromeDriver غير المكتشف.

الوكلاء مطلوبون عندما تحتاج إلى إرسال العديد من الطلبات عبر Cloudflare ، وعدم استخدام الوكلاء يخاطر بتعطيل نظام تتبع وحظر IP الخاص بهم. هناك حاجة إلى الوكلاء في كثير من الحالات ، لكنها ليست الأدوات الوحيدة التي تحتاجها للتهرب من تجاوز Cloudflare.

س: ما مدى فعالية Cloudflare في منع الروبوتات؟

إذا كان موقع الويب المستهدف الخاص بك يحتوي على Cloudflare لحمايته ، فأنت بحاجة حقًا إلى القلق. هذا لأن Cloudflare يحتوي على بعض الأرقام المثيرة للاهتمام التي ستخيفك دون محاولة تجاوزها.

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

تحمي أنظمة مكافحة الروبوتات مثل Cloudflare مواقع الويب من هجمات DDoS وغيرها من أشكال البريد العشوائي. لا يعد تجاوزها أمرًا غير قانوني ، على الرغم من أن مواقع الويب تهيئها لحماية أنظمتها وقواعد بياناتها.

ومع ذلك ، فإن ما تفعله بعد تجاوزها قد يضعك في مشكلة قانونية. إذا كنت تحتاج فقط إلى أتمتة مهامك دون التسبب في أي ضرر للموقع من خلال إغراقه بالطلبات ، فأنت لا تزال ضمن الإطار القانوني.

نحن لسنا مستشارين قانونيين أكفاء ، وعلى هذا النحو ، نوصيك بطلب المشورة القانونية من الممارسين الأكفاء. لا يجب اعتبار أي شيء تقرأه هنا أو اعتباره مشورة قانونية.


وفي الختام

بصفتك مطور روبوت ، فإن أنظمة مكافحة الروبوتات مثل Cloudflare هي بعض الكوابيس التي ستتعامل معها ، لأنها يمكن أن تحبطك. هذا صحيح بشكل خاص إذا لم تكن لديك خبرة في تجاوزهم.

كمبتدئ ، قد تعتقد أن استخدام السيلينيوم هو وسيلة سهلة للخروج بالنسبة لك لأن السيلينيوم يقوم بأتمتة المتصفحات ويعرض JS.

ومع ذلك ، يبدو أن Cloudflare قد حصلت على الروبوتات القائمة على السيلينيوم. بمساعدة أداة ChromeDriver غير المكتشفة الموضحة في المقالة ، يجب أن تكون قادرًا على تجاوزها دون مشاكل.

الانضمام إلى محادثة

لن يتم نشر عنوان بريدك الإلكتروني. الحقول المشار إليها إلزامية *