التفاعل المتقدم مع المواقع وواجهات برمجة التطبيقات

Apr 14, 2025

مرحباً بك في القسم 4! لقد غطينا كشط المحتوى الثابت والمعروض بـ JavaScript، بالإضافة إلى التنقل في المواقع متعددة الصفحات. الآن، ندخل في سيناريوهات أكثر تعقيداً تتضمن التفاعل المباشر مع API وإرسال النماذج والمصادقة وواجهات برمجة التطبيقات المتخصصة مثل GraphQL. هذه التقنيات ضرورية للتعامل مع تطبيقات الويب الحديثة.

1. المواقع القائمة على API (الفصل 7)

العديد من المواقع الحديثة لا تحمل جميع بياناتها مع HTML الأولي. بدلاً من ذلك، يستخدمون JavaScript لجلب البيانات من APIs الخلفية (غالباً باستخدام fetch أو XMLHttpRequest) بعد تحميل الصفحة. كشط هذه المواقع بكفاءة يعني غالباً تجاوز واجهة المستخدم والتفاعل المباشر مع هذه APIs.

المفاهيم الأساسية:

  • تحديد طلبات API: استخدم أدوات المطور في متصفحك (تبويب الشبكة) لاكتشاف الطلبات (غالباً XHR/Fetch) التي ترجع بيانات، عادة بتنسيق JSON.
  • كشط APIs مباشرة: بمجرد العثور على نقطة نهاية API، يمكنك غالباً إرسال طلبات مباشرة إليها باستخدام مكتبات مثل axios أو fetch المدمج في Node.js. هذا عادة أسرع وأكثر موثوقية من أتمتة المتصفح.
  • التعامل مع التصفح والمعاملات: APIs غالباً تستخدم معاملات الاستعلام للتصفح (page، limit)، والتصفية، أو الترتيب. ستحتاج إلى فهم وتكرار هذه في سكريبت الكشط الخاص بك.

التحدي (الفصل 7): ستقوم بكشط موقع تجارة إلكترونية حيث يتم تحميل قوائم المنتجات ديناميكياً من RESTful API. مهمتك هي جلب جميع المنتجات من خلال التفاعل مع هذا API، مع التعامل الصحيح مع التصفح.

ابحث عن حل مرجعي يُظهر كشط API المباشر في دليل _solved/chapter7/.

2. النماذج والمصادقة (الفصل 8)

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

كشط سعيد!