شعار proxyscrape داكن

كيفية كشط موقع ويب جافا سكريبت باستخدام بايثون

كيفية القيام بذلك, بايثون, كشط, Mar-06-20245 دقائق للقراءة

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

جدول المحتويات

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

فيما يلي بعض التحسينات الديناميكية للموقع الإلكتروني التي يتم تنفيذها بواسطة Javascript.

  • التحقق من صحة الإدخال من نماذج الويب
  • الرسوم المتحركة لعناصر الصفحة مثل تغيير حجم الصفحة ونقلها وتلاشيها
  • تحميل بيانات جديدة دون إعادة تحميل الصفحة
  • تشغيل الصوت والفيديو
  • إصلاح مشكلات توافق المتصفح

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

  • مراقبة الأخبار
  • ذكاء الأسعار
  • توليد العملاء المحتملين
  • مراقبة الأسعار
  • أبحاث السوق

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

لماذا تحتاج إلى كشط موقع جافا سكريبت؟

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

  • التجارة الإلكترونية
  • وسائل التواصل الاجتماعي
  • الأعمال المصرفية 
  • التمويل
  • التسويق 
  • عقارات
  • التمويل
  • تحسين محرك البحث
  • خيوط المبيعات

فيما يلي الأسباب التي تجعل الشركات بحاجة إلى كشط مواقع الويب.

الأتمتة - لا يمكن نسخ ولصق كل جزء من المعلومات من موقع إلكتروني. تستخدم الشركات برامج الكشط لأتمتة معظم العمليات المرتبطة بها.

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

القوائم العقارية - يستخدم وكلاء العقارات تجريف الويب لملء قاعدة بياناتهم بالعقارات المتاحة للإيجار أو للبيع. 

بيانات المقارنة بين مواقع التسوّق - تستخدم الشركات تقنية كشط الويب لكشط بيانات الأسعار والمنتجات من كل بائع تجزئة، بحيث يمكنها تزويد مستخدميها ببيانات المقارنة التي يرغبون فيها. 

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

كشط موقع جافا سكريبت باستخدام بايثون

دعنا نرى كيف يمكنك استخدام Selenium لكشط مواقع Javascript.

تثبيت مكتبة سيلينيوم

يمكنك تثبيت سيلينيوم باستخدام الأمر التالي.

تثبيت سيلينيوم

تثبيت برنامج تشغيل الويب

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

مثال على ذلك

دعونا ننظر في مثال سيلينيوم بسيط يتضمن جمع عنوان موقع ويب. لهذا، سنقوم أولاً باستيراد webdriver من سيلينيوم في ملف بايثون كما هو موضح أدناه:

من سيلينيوم استيراد webdriver

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

webdriver_path = "./
برنامج التشغيل = webdriver.Firefox(WEBDRIVER_PATH)

الآن نحدد عنوان URL للحصول على عنوان الموقع الإلكتروني.

URL = 'https://www.google.com'
driver.get(URL)
طباعة (driver.title)

تشغيل الكود أعلاه يفتح نافذة فايرفوكس التي تطبع عنوان الموقع الإلكتروني في وحدة التحكم. لقد حددنا عنوان URL الخاص بـ Google كمثال في هذه الحالة، لذا ستكون النتيجة هكذا:

هذه هي صفحة google من برنامج تشغيل الويب الخاص بـ Firefox. سيكون العنوان المطبوع على وحدة التحكم كما يلي:

علينا إغلاق نافذة فايرفوكس التي تم فتحها يدويًا. سنقوم بإضافة driver.quit() في نهاية الشيفرة حتى يتم إغلاق النافذة تلقائيًا بعد انتهاء المهمة. 

من سيلينيوم استيراد webdriver 

webdriver_path = "./
برنامج التشغيل = webdriver.Firefox(WEBDRIVER_PATH) 

URL = 'https://www.google.com'
driver.get(URL)
طباعة (عنوان برنامج التشغيل)
driver.quit()

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

من سيلينيوم استيراد webdriver 
 
webdriver_path = "./ 
برنامج التشغيل = webdriver.Firefox(WEBDRIVER_PATH) 
URL = 'https://www.youtube.com'
driver.get(URL)
طباعة (عنوان برنامج التشغيل)
driver.quit()

لنجرب شيئًا جديدًا هنا. يمكننا تعديل مربع البحث وتعبئته بكلمة "سيلينيوم" باستخدام فئة "المفاتيح" كما هو موضح أدناه.

من selenium.webdriver.common.keys استيراد المفاتيح

بعد تهيئة برنامج تشغيل الويب في Firefox والحصول على عنوان Youtube، نقوم بإنشاء كائن يحتوي على مربع البحث باستخدام xpath.

search_box = driver.find_element_by_xpath('//input[@id="بحث"])

ثم نعدل محتوى مربع البحث ونملأه بكلمة "سيلينيوم".

search_box.send_keys('سيلينيوم')

بمجرد أن نملأ خانة البحث بالمحتوى المطلوب، يمكننا الضغط على "Enter" لتنشيط البحث.

مربع_البحث.إرسال_مفاتيح(المفاتيح.ENTER .)

يمكنك أن ترى في الصورة أدناه أن مربع بحث Youtube يحتوي على كلمة "سيلينيوم".

استخدام وكيل

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

لاستخدام سيلينيوم مع وكيل، فإن الحزمة التالية هي الحزمة التي تحتاج إلى تثبيتها.

من سيلينيوم سلك سيلينيوم استيراد سائق الويب

بعد تثبيت مكتبة Python selenium-wire، تحتاج إلى ذكر ما يلي:

  • اسم_المستخدم_الوكيل
  • كلمة المرور_الوكيل
  • بروكسي_url
  • منفذ_الوكيل

ذكرنا هنا رقم المنفذ العشوائي 8080 كمثال. يمكنك تعيين اسم المستخدم وكلمة المرور وعنوان URL لموقع الويب المطلوب من اختيارك.

proxy_username = "USER_NAME"
proxy_password = "PASSWORD"
proxy_url = "Any Website URL"
proxy_port = 8080

options = {
    "proxy": {
        "http": f"http://{proxy_username}:{proxy_password}@{proxy_url}:{proxy_port}",
        "verify_ssl": False,
    },
}

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

لماذا استخدام البروكسيات لكشط موقع JS الإلكتروني

تحتاج إلى استخدام البروكسيات لكشط موقع ويب للأسباب التالية:

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

الخاتمة

تجريف الويب مهم حيث يمكنك استخدامه من أجل:

  • تجريد إعلانات المنتجات/الخدمات وتقديم رؤى حول ميزانياتها
  • التنبؤ باتجاهات الموضة للبقاء في المنافسة
  • استكشاف قنوات التواصل الاجتماعي واكتشاف العملاء المحتملين وما إلى ذلك.

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

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