تجريف الويب باستخدام بايثون

يتم تعريف تجريف الويب على أنه عملية البحث عن مستندات الويب واستخراج المعلومات القابلة للاستخدام منها.
يختلف تجريف الويب عن الزحف إلى الويب. الزحف على الويب هو طريقة جلب الروابط بشكل متكرر بدءًا من عنوان URL الأساسي. يعد تجريف الويب مجموعة فرعية من زحف الويب. سننظر في هذا بالتفصيل في هذه المقالة.
دعونا نتحدث عن الزحف أولا. الزحف يعادل محرك البحث. يقوم بزيارة الويب بالكامل ويبحث عن معلومات معينة ويعيدها إلى المستخدم. من ناحية أخرى، يستهدف تجريف الويب مواقع ويب محددة للبحث عن بيانات محددة تتعلق بالمشروع أو التطبيق المطروح.
على سبيل المثال، إذا أردنا معرفة أسعار المواد الغذائية على موقع Zomato الإلكتروني، فيمكننا التوصل إلى أداة استخراج بيانات الويب للحصول على الأسعار. يعتبر تجريف الويب فنًا لأن إنشاء صفحات الويب هو فن.
ولذلك، فإن جميع صفحات الويب ذات تخطيطات مختلفة. إن استخراج المعلومات من غالبية مواقع الويب بمساعدة تعليمات برمجية عالية الكفاءة هو بالتأكيد فن، أليس كذلك؟
المعلومات التي يختار موقع الويب نشرها موجودة داخل ملف يسمى robots.txt.
عادةً لا يبحث الزاحف، وهو جزء من محرك البحث، عن مثل هذه المعلومات. ومن ناحية أخرى، لا تأخذ أدوات استخراج الويب أي اعتبار لملف robots.txt.
السبب وراء عمل أدوات استخراج الويب بشكل جيد هو أن عنوان IP المصدر عادةً ما يكون من جهاز كمبيوتر، والذي يعالج نفسه كمتصفح (يبحث المستهلك عن شيء ما)، وبالتالي يكون متخفيًا.
هل تساءلت عن سبب النقر على الصور ورموز التحقق وما إلى ذلك؟ ويرجع ذلك جزئيًا إلى أن أدوات استخراج بيانات الويب تتمتع أيضًا بالقدرة على ملء النماذج، تمامًا مثل كيفية استخراج المعلومات.
في بعض الأحيان، يقومون أيضًا بتمكين ملفات جافا سكريبت لتحسين تمويههم كمستخدمين.
دعونا نلقي نظرة على بعض الاختلافات الرئيسية بين تجريف البيانات والزحف إلى البيانات.
تجريف البيانات | الزحف إلى البيانات |
يتضمن استخراج البيانات من مصادر مختلفة بما في ذلك الويب | يشير إلى تنزيل الصفحات من الويب |
يمكن القيام به على أي نطاق | يتم تنفيذه في الغالب على نطاق واسع |
إلغاء البيانات المكررة ليس بالضرورة جزءًا | يعد إلغاء البيانات المكررة جزءًا أساسيًا |
يحتاج إلى وكيل الزحف والمحلل اللغوي | يحتاج فقط إلى وكيل الزحف |
تطبيقات تجريف الويب
جمع البيانات لأبحاث السوق
تساعد أدوات تجريف الويب في تحليل اتجاهات السوق والصناعة ويمكن أن تساعد في اتخاذ القرارات للشركة. Google Analytics عبارة عن نشاط تجاري مبني على توفير رؤى تفصيلية من خلال استخدام التكنولوجيا المتقدمة الخاصة.
استخراج معلومات الاتصال
على الرغم من أن ذلك قد يكون غير قانوني، إلا أن العديد من الأشخاص يقومون بأتمتة مهمة الحصول على عملاء محتملين لأعمالهم من خلال إنشاء وكلاء كشط. هناك العديد من الثغرات في النظام والمبرمجون هم أول من يستفيد منها.
قم بتنزيل الحلول من StackOverflow
يمكن أيضًا استخدام أداة تجريف الويب للبحث عن الاستعلامات في مواقع الويب مثل StackOverflow وWikipedia وما إلى ذلك. لذلك، يمكننا الحصول على المزيد من البيانات في وقت أقل.
قد يؤدي استخدام خوارزمية التلخيص على البيانات المسروقة إلى أفضل جهاز للرد على المكالمات على الإطلاق.
أبحث عن وظائف أو المرشحين
تخيل أنك حصلت على قائمة الوظائف التي تحتوي على جميع الكلمات الرئيسية التي تبحث عنها.
التعلم الآلي، ورؤية الكمبيوتر، ومعالجة اللغات الطبيعية، والبيانات الضخمة وما إلى ذلك. البحث عن وظيفة مخصص من مواقع ويب متعددة هو مجرد نقرة واحدة.
تتبع الأسعار من أسواق متعددة
وكما نظرنا في مثال Zomato في وقت سابق، دعونا نبني على ذلك. نريد أن ننفق الأقل. ماذا نفعل؟ قارن Zomato وSwiggy وUber Eats (راجع مشروع تحليل بيانات Uber لمعرفة المزيد)، والعديد من منصات توصيل الطعام الأخرى.
تخيل أنه يمكنك تتبع جميع الأسعار من مواقع ويب متعددة. يقوم Trivago بمقارنة الأسعار من مواقع ويب متعددة. فكرة عمل مبنية على مثل هذه الفكرة البسيطة. هذه هي قوة الإنترنت.
بعض الأدوات الشائعة لتجريد الويب هي:
تجريف الويب باستخدام بايثون
هناك العديد من أشكال ملفات البيانات التي يمكن استخدامها كمدخل للتعلم الآلي أو تنفيذ التعلم العميق باستخدام بايثون. فيما يلي بعض الأمثلة على ملفات مصدر البيانات هذه:
- ملف MS Excel
- ملف قيمة مفصولة بفواصل [csv]
- ملف نصي
- موقع إلكتروني
- تدوين كائن جافا سكريبت [JSON]
- الصور [jpeg، jpg، png، dcim، إلخ.]
- تنسيق البيانات الهرمي [hdf 5]
من القائمة أعلاه دعونا نتناول موضوع استخراج البيانات من موقع الويب. فيما يلي الإجراءات التي يمكننا من خلالها استخراج البيانات من موقع ويب مباشر مستضاف:
- واجهة برمجة التطبيقات (API): احصل على البيانات من واجهة برمجة تطبيقات موقع الويب إذا كان يمكن الوصول إليها. على سبيل المثال، يحتوي Facebook على واجهة برمجة تطبيقات Facebook Graph التي توفر تحديثًا حول الإمكانيات المتاحة على Facebook.
- تجريف الويب: احصل على الوصول إلى HTML لصفحة الويب. تتبع الفصل الذي توجد فيه البيانات. انقل هذه المعلومات إلى وظيفة تجريف الويب لاستخراج البيانات الموجودة على الموقع.
لدى بايثون العديد من الوظائف والأساليب التي يمكنها إجراء تجريف الويب. ستشرح المدونة التالية هذه المفاهيم باستخدام مثالين منفصلين وطرق لتجريد الويب باستخدام أدوات مساعدة مختلفة لبايثون.
مثال على تجريف الويب 1
دعونا نفهم تجريف الويب باستخدام المثال التالي:
حاجة العمل: تريد شركة تحليلات وسائل التواصل الاجتماعي إيجاد الاختلافات بين عدد من الرؤساء اعتمادًا على الخطب التي يلقيها كل منهم.
المشكلة: يتعين على الفريق الحصول على نصوص الخطاب المتوفرة على أحد مواقع الويب. [‘https://millercenter.org ]
الحل: يمكن استخدام تجريف الويب هنا لتحديد جميع عناوين URL التي توجد بها نصوص الكلام.
الخوارزمية:
- قم بتحميل جميع عناوين URL في قائمة “URL_Links”
- حدد الوظيفة التي ستؤدي عملية تجريف الويب
- أداة طلبات الاستيراد للحصول على المحتويات كنص من عنوان URL المطلوب
- قم باستيراد أداة حساء جميلة إلى المكتبة لسحب البيانات من ملفات HTML وXML. إنه يعمل مع محلل لتوفير طريقة بسيطة للتنقل والبحث وتعديل شجرة التحليل.
- من البيانات التي تم تنزيلها، اذكر فئة HTML التي يوجد بها النص
- اطبع عنوان URL للتأكد من قراءة البيانات وتحميلها
- قم بتمرير النص كقيمة الإرجاع للدالة
- قم باستدعاء الوظيفة عن طريق تمرير جميع عناوين URL واحدًا تلو الآخر
- حدد القائمة التي تنتمي إليها هذه النصوص بنفس الترتيب الذي ذكرنا فيه عناوين URL في قائمة URL_Links
- قم باستيراد وظيفة المخلل لتخزين النصوص التي تم تنزيلها على الجهاز المحلي كملف نصي
- افتح الملف النصي في بيثون
تعرض لقطة الشاشة أدناه الفئة التي سيتم الرجوع فيها إلى البيانات [النسخة] في الوظيفة أعلاه لتحديد موقع النص واستخلاصه من الويب.
للحصول على العرض التالي اتبع الخطوات التالية:
- زيارة الرابط: https://millercenter.org/the-presidency/presidential-speeches/january-8-2020-statement-iran
- انقر بزر الماوس الأيمن على الصفحة واختر خيار الفحص. هناك طريقة بديلة وهي الضغط على ctrl+shift+c.
- على الجانب الأيمن، ستجد صفحة عناصر الويب
- قم بتمرير مؤشر الماوس فوق الويب [الجانب الأيسر] للحصول على تمييز بنية الفصل في نافذة العناصر [الجانب الأيمن]
- قم بتسجيل الفصل المناسب لتمريره إلى وظيفة تجريف الويب أعلاه
بمجرد تحميل البيانات في لغة بايثون، يمكن للفريق استخدام البرمجة اللغوية العصبية والتعلم العميق لإجراء فحص الكلمات، وتحليل المشاعر، وعرض سحابة الكلمات، والكلمات التي يتحدث بها كل رئيس في الدقيقة، وأيديولوجية ومعتقدات كل رئيس.
مثال على تجريف الويب 2
دعونا نفهم تجريف الويب باستخدام المثال التالي:
الخوارزمية:
- قم بتحميل جميع عناوين URL
- احصل على البيانات من عنوان URL باستخدام مكتبة “urllib”.
- قم بتنزيل البيانات الكاملة من عنوان URL باستخدام الأداة المساعدة “المقالة”.
- تقوم الدالة Parse() بتقسيم التسلسل المحدد من الأحرف أو القيم (النص) إلى أجزاء أصغر بناءً على القواعد
- عرض ملخص البيانات
الويب كشط ملخص البيانات
بمجرد تحميل البيانات في لغة بايثون، يمكن للفريق استخدام البرمجة اللغوية العصبية والتعلم العميق لإجراء فحص الكلمات، وتحليل المشاعر، وعرض سحابة الكلمات، والكلمات التي يتحدث بها كل رئيس في الدقيقة، وأيديولوجية ومعتقدات كل رئيس.
خاتمة
هناك العديد من الطرق أو الطرق التي يمكننا من خلالها استخراج المعلومات من مواقع الويب المستضافة مباشرة.
بشكل رئيسي عندما لا يكون لديك إمكانية الوصول أو إمكانية الوصول إلى واجهة برمجة تطبيقات الويب الجاهزة المتاحة للحصول على السجلات أو البيانات. يمكنك استخدام تجريف الويب لتنزيل بيانات الويب على جهازك المحلي باستخدام لغة بايثون.
إذا كنت ترغب في التعمق في مفاهيم وتطبيقات لغة Python في مختلف المجالات، فاحرص على تحسين مهاراتك باستخدام برامج Great Learning في التعلم الآلي وعلوم البيانات.
المصدر: mygreatlearning
شاهد المزيد: