Cloudscraper and proxies

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

لكن لا بد من وجود حل. نود أن نوضح كيف يمكن أن تساعدك البروكسيات في هذا السيناريو. ستجد أدناه دليلاً مناسباً سواء كنت في بداية الطريق أو مستخدماً متمرساً لـ CloudScraper. نأمل أن يكون هذا الدليل مفيداً وأن تتوقف اختبارات CAPTCHA عن ملاحقتك نهائياً. 

لماذا يختار كثير من أدوات التجريف CloudScraper

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

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

*تذكر فقط: مارس تجريف الويب بمسؤولية واحترم شروط خدمة موقع الويب المستهدف والحدود القانونية.

خذ الأمر بجدية، ولا تتجاهل البروكسيات

تمثل Cloudflare وAkamai وPerimeterX اليوم بعضاً من أكثر العوائق تقدماً أمام تجريف الويب. وغالباً ما تفشل تقنيات التجريف التقليدية بسبب وسائل الدفاع المتطورة باستمرار، مثل تحديات JavaScript الديناميكية، وبصمات المتصفح المتقدمة، والتغيرات المتكررة في منطق التحدي. وحتى أدوات مثل CloudScraper التي تحاكي ترويسات المتصفح الحقيقي وسلوكه قد تفشل أمام البصمة الصارمة أو حدود المعدل المعتمدة على IP.

تعد البروكسيات جزءاً أساسياً من أي بنية لتجريف الويب. في Python، تضاف البروكسيات عادة على مستوى الطلب باستخدام مكتبات مثل Requests, Httpx، أو Cloudscraper، ويمكن دمجها بسهولة في المتصفحات عديمة الواجهة مثل Playwright أو Puppeteer من خلال إعدادات البروكسي الخاصة بها. يمرر البروكسي حركة المرور عبر IP بديل، مما يتيح لك:

  • إخفاء IP المصدر 
  • تدوير عناوين IP للطلبات كبيرة الحجم
  • ضمان الوصول المتواصل عبر المناطق
  • توزيع الحمل على جلسات متعددة

على سبيل المثال، إذا أخفق CloudScraper في تجاوز تحدٍّ ما، فعادة ما تتضمن الخيارات البديلة ما يلي:

  • استخدام سياق متصفح حقيقي عبر Playwright أو Puppeteer مع إضافات التخفي
  • إضافة تأخيرات وإعادات محاولة وترويسات عشوائية
  • استخدام بروكسيات سكنية أو محمولة لوصول محسّن للخصوصية

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

التنفيذ خطوة بخطوة

🧩 المتطلبات المسبقة

قبل البدء، تأكد من توفر ما يلي:

  • تثبيت Python 3.7+ على نظامك؛
  • محرر كود أو بيئة تطوير IDE تعمل بصورة سليمة، وسنستخدم Visual Studio Code؛
  • تثبيت مكتبة CloudScraper؛
  • الوصول إلى مزود بروكسيات، مثل DataImpulse، مع بيانات اعتماد بروكسي صالحة، وهي اسم المستخدم وكلمة المرور والمضيف والمنفذ؛
  • اختياري لكنه موصى به: Requests, Pandas, أو httpx لسير عمل أكثر تقدماً.

ملاحظة: تحقق دائماً من شروط خدمة موقع الويب المستهدف قبل التجريف. استخدم البروكسيات بمسؤولية لتجنب المشكلات القانونية والأخلاقية.

⚙️ إعداد CloudScraper مع بروكسي

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

  • الخطوة 1: تثبيت CloudScraper

أولاً، عليك تثبيت مكتبة Сloudscraper المكتبة. افتح الطرفية أو موجه الأوامر ونفذ أحد الأوامر التالية:


pip install -U cloudscraper
      
        

      

إذا كنت تستخدم Python 3، فإن pip3 مطلوب على نظامك:


pip3 install cloudscraper
      
        

      

إذا كانت لديك نسخة قديمة، فسترسل لك الطرفية إشعاراً. للتحديث، نفّذ: python3.12 -m pip install –upgrade pip. وإذا نجح الأمر، فستحصل على نتيجة مشابهة:

  • الخطوة 2: التهيئة عبر الاستيراد

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

نستخدم Visual Studio Code في هذا الدليل. شغّله، ثم انتقل إلى ملف ← ملف جديد، واحفظه بامتداد .py ، على سبيل المثال: cloudscraper_test.py 

أضف السطر التالي في أعلى الملف لاستيراد مكتبة CloudScraper:


import cloudscraper
      
        

      

بعد الاستيراد، يمكنك إنشاء مثيل CloudScraper وإرسال طلبات ويب والتعامل مع تحديات JavaScript من خدمات مثل Cloudflare.

*تأكد من وضع سطر الكود هذا في بداية ملف Python تماماً. عندها سيعمل كل ما يعتمد على مكتبة cloudscraper بصورة سليمة.

  • الخطوة 3: إنشاء مثيل CloudScraper

قبل إرسال الطلبات، عليك إنشاء كائن Сloudscraper . يعمل هذا الكائن كأنه متصفح.


scraper = cloudscraper.create_scraper()
      
        

      

  • الخطوة 4: إضافة البروكسي الخاص بك

لتمرير حركة المرور عبر بروكسي، وهو ما يساعدك على الحفاظ على إخفاء الهوية وتجنب رفض الوصول المرتبط بـ IP، عرّف قاموس إعدادات البروكسي. استبدل العناصر النائبة بالقيم الفعلية من مزود البروكسي. يبدو هذا القسم تحديداً كما يلي:


proxy = {
    'http': 'http://:@:',
    'https': 'http://:@:'
}()
      
        
 
 
 
      

إليك المثال ببيانات اعتماد وهمية:

proxy = {

    ‘http’: ‘http://user123:[email protected]:8000’,

    ‘https’: ‘http://user123:[email protected]:8000’

}

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

  • الخطوة 5: إرسال طلب باستخدام البروكسي

بعد أن أنشأت مثيل CloudScraper وأعددت البروكسي، حان وقت إرسال طلب فعلي.

إليك الكود:


response = scraper.get('https://httpbin.io/ip', proxies=proxy)
print(response.text)()
      
        
        
      

في هذا الكود، نستخدم https://httpbin.io/ip. إنها نقطة نهاية للاختبار. ما معنى ذلك؟ إنها تعرض عنوان IP الذي يأتي منه طلبك. إذا لم يعمل، يمكنك تجربة http://ip-api.com/json

  • الخطوة 6: النص البرمجي الكامل: دمج البروكسي

إليك نسخة كاملة ومنسقة من النص البرمجي تستخدم CloudScraper مع بروكسي، جاهزة للنسخ والتشغيل:


import cloudscraper

# create CloudScraper instance
scraper = cloudscraper.create_scraper()  

# define your proxy
proxy = {
   'http': 'http://:@:',
   'https': 'http://:@:'
}

# make a request using the proxy
response = scraper.get('https://httpbin.io/ip', proxies=proxy)
print(response.text)()
      
        
        
        
        
        
        
        
        
        
        
        
        
        
        
      

سيبدو الأمر على جهازك كما يلي:

وستبدو النتيجة في قسم الطرفية كما يلي:

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

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

https://whatismyipaddress.com
https://ipinfo.io
https://ifconfig.me

على سبيل المثال، هذا هو IP للبروكسي الذي نستخدمه، وليس عنواننا الحقيقي:

Ipinfo scaled
النتيجة من https://ipinfo.io

كيفية العمل بما يتوافق مع سياسات Cloudflare وصفحات مكافحة الروبوتات

تحمي خدمات مثل Cloudflare كثيراً من مواقع الويب لحظر الروبوتات والحماية من الرسائل المزعجة أو إساءة الاستخدام. تكتشف هذه الأنظمة حركة المرور غير المعتادة وعدم اتساق المتصفح. وعادة ما تعرض هذه الحماية تحديات قائمة على JavaScript أو صفحات CAPTCHA. صُمم CloudScraper خصيصاً لمحاكاة سلوك المتصفح وحل معظم هذه التحديات تلقائياً. 

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


url = 'https://www.example-protected-site.com'

response = scraper.get(url, proxies=proxy)
print(response.status_code)
print(response.text[:500])()
      
        
        
        
        
        
      

النص البرمجي الكامل: 


import cloudscraper

# Create a CloudScraper instance (mimics browser behavior)
scraper = cloudscraper.create_scraper()

# Set up your proxy
proxy = {
    'http': 'http://:@:',
    'https': 'http://:@:'
}

# Target a Cloudflare-protected website (example below: change as needed)
url = 'https://www.example-protected-site.com'

# Send the request through the proxy
response = scraper.get(url, proxies=proxy)

# Output the response
print(response.status_code)
print(response.text[:500])  # print only the first 500 characters()
      


















 



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

Cloudflare
لمثال موقع محمي، استخدمنا https://www.cloudflare.com/rate-limit-test

يعكس تحديد الموقع الجغرافي (“countryCode”:”VN”) عنوان IP الذي يستخدمه البروكسي، وفي هذه الحالة فيتنام. لم يحظر الخادم طلبك، لذا يمكنك متابعة التجريف ما لم تكن الصفحة تتطلب JavaScript لتحميل البيانات بالكامل. هذا كل شيء.

الخلاصة 

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

تذكر أن تمارس تجريف الويب بمسؤولية وأن تحترم قواعد كل موقع ويب وحدوده القانونية.

مقالات ذات صلة:

تجريف بيانات منتجات Amazon باستخدام Python

التعامل مع تحديات التحقق في تجريف الويب باستخدام Python وSelenium

4 طرق يمكن للبروكسيات من خلالها توسيع نطاق تجريف الويب

كيفية تجريف الويب باستخدام Google Sheets

Share article: