ما هو تجريف الويب ولماذا استخدام سلسلة الويب؟

نشرت: 2021-08-01

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

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

تجريف الويب - ما هو؟

تجريف الويب هو عملية جمع البيانات وتحليلها من موقع ويب والتي يتم تحويلها بدورها إلى تنسيق يجعلها حيلة للمستخدمين.

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

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

كيف تكشط الويب البيانات المفيدة؟

تبدأ عملية تجريف الويب بتزويد المستخدمين بعنوان URL واحد أو أكثر. تقوم أدوات الكشط بإنشاء كود HTML لصفحة الويب التي يجب إلغاؤها.

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

ثم يتم تحويل البيانات المستخرجة إلى تنسيق قابل للاستخدام.

لماذا لا تسمح بعض مواقع الويب بكشط الويب؟

تمنع بعض مواقع الويب مستخدميها بشكل صارخ من تجريف بياناتهم. لكن لماذا؟ وفيما يلي الأسباب:

  1. لحماية بياناتهم الحساسة: خرائط Google ، على سبيل المثال ، لا تسمح للمستخدمين بالحصول على نتائج أسرع إذا كانت الاستعلامات كثيرة للغاية.
  2. لتجنب الأعطال المتكررة: قد يتعطل خادم موقع الويب أو يتباطأ إذا غمرته طلبات مماثلة لأنها تستهلك قدرًا كبيرًا من النطاق الترددي.

فئات مختلفة من برامج كاشطات الويب

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

  1. مبني مسبقًا أو مبني ذاتيًا
  2. ملحقات المستعرض
  3. واجهة المستخدم (UI)
  4. السحابة والمحلية

1. كاشطات الويب ذاتية البناء

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

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

2. ملحقات المستعرض

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

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

3. واجهة المستخدم (UI)

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

تحتوي بعض أدوات تجريف الويب على شرط لعرض النصائح ورسائل المساعدة من خلال واجهة المستخدم لمساعدة المستخدم على فهم كل ميزة يوفرها البرنامج.

4. سحابة أو محلية

تعمل أدوات الكشط المحلية على الكمبيوتر الذي يتغذى على موارده واتصاله بالإنترنت. هذا له عيب في إبطاء الكمبيوتر عند استخدام الكاشطات. كما أنه يؤثر على حدود بيانات مزود خدمة الإنترنت عند تشغيله على العديد من عناوين URL.

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

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

تجريف الويب باستخدام طرق مختلفة

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

  1. تحليل البيانات من الويب باستخدام طرق السلسلة
  2. تحليل البيانات باستخدام التعبيرات العادية
  3. استخراج البيانات باستخدام محلل HTML
  4. استخلاص البيانات من خلال التفاعل مع مكونات من مواقع الويب الأخرى.

تحليل البيانات من الويب باستخدام طرق السلسلة

  • تقوم هذه التقنية بشراء البيانات من مواقع الويب باستخدام طرق السلسلة. للبحث في البيانات المطلوبة من نصوص HTML ، يمكن استخدام أداة البحث (). باستخدام هذه الأداة ، يمكن الحصول على علامة العنوان من موقع الويب.
  • إذا كان فهرس الحرف الأول والأخير من العنوان معروفًا ، فيمكن استخدام شريحة سلسلة لكشط العنوان.
  • الأداة. سيعيد find () حدوث أول سلسلة فرعية ، ومن ثم يمكن الحصول على فهرس علامة <title> البداية باستخدام السلسلة "<title> للحصول عليها. تجد ().
  • البيانات ذات الأهمية هي فهرس العنوان وليست فهرس <العنوان>. للحصول على فهرس للحرف الأول في العنوان ، يمكن إضافة طول السلسلة “<title> إلى فهرس العنوان.
  • الآن ، للحصول على فهرس الجزء الأخير </title> ، يمكن استخدام السلسلة "</title>".
  • الآن وبعد الحصول على الجزء الأول والأخير من العنوان ، يمكن تحليل العنوان بالكامل عن طريق تقطيع سلسلة HTML. إليك البرنامج للقيام بذلك:

>>> url = " http://olympus.realpython.org/profiles/poseidon "

>>> الصفحة = urlopen (url)

>>> html = page.read (). decode (“utf-8”)

>>> start_index = html.find (“<title>”) + len (“<title>”)

>>> end_index = html.find (“</title>”)

>>> العنوان = html [start_index: end_index]

>>> العنوان

'\ n <head> \ n <title> الملف الشخصي: بوسيدون'

لاحظ وجود كود HTML في العنوان.

تحليل البيانات باستخدام التعبيرات العادية

  • التعبيرات العادية ، المعروفة أيضًا باسم regexes ، هي أنماط تُستخدم للبحث عن نص داخل سلسلة. يتم دعم محللات التعبير العادي بواسطة Python من خلال الوحدة النمطية الخاصة بها.
  • للبدء بتحليل التعبير العادي ، يجب استيراد وحدة إعادة أولاً. تُستخدم الأحرف الخاصة المسماة بالأحرف الأولية في التعبيرات النمطية للإشارة إلى الأنماط المختلفة.
  • على سبيل المثال ، يتم استخدام علامة النجمة المميزة (*) للإشارة إلى 0.
  • يمكن رؤية مثال على استخدام findall () للبحث عن نص داخل سلسلة أدناه.

>>> إعادة. findall ("xy *،" ac ")

["ac"]

  • في برنامج Python هذا ، تشير الوسيطة الأولى والوسيطة الثانية إلى التعبير العادي والسلسلة المراد فحصها ، على التوالي. سيتطابق النمط "xy * z" مع أي جزء من السلسلة يبدأ بـ "x" وينتهي بـ "z". أداة إعادة. تسترجع الدالة findall () قائمة تحتوي على جميع المطابقات.
  • تتطابق سلسلة "xz" مع هذا النمط ، ولذا يتم وضعها في القائمة.
  • يمكن استخدام النقطة (.) لتمثيل أي حرف مفرد في تعبير عادي.

استخراج البيانات باستخدام محلل HTML

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

  • الخطوة الأولى في تحليل HTML هي تثبيت حساء جميل عن طريق تشغيل:

python3 -m pip install beautifulsoup4.

يمكن الاطلاع على تفاصيل التثبيت باستخدام Run pip. إليك برنامج إنشاء كائن الحساء الجميل:

إعادة الاستيراد

من urllib.request import urlopen

url = "http://olympus.realpython.org/profiles/dionysus"

page = urlopen (url)

html = page.read (). فك الشفرة (“utf-8”)

نمط = “<title. *؟>. *؟ </ title. *؟>”

match_results = re.search (النمط ، html ، re.IGNORECASE)

العنوان = match_results.group ()

title = re.sub (“<. *؟>”، “”، title) # إزالة علامات HTML

طباعة (العنوان)

  • قم بتشغيل البرنامج للحصول على حساء جميل باستخدام بيثون. سيفتح البرنامج عنوان URL المطلوب ، ويقرأ نصوص HTML من صفحة الويب كسلسلة ، ويفوضها إلى متغير HTML. نتيجة لذلك ، يتم إنشاء كائن حساء جميل ويتم إعطاؤه لمتغير الحساء.
  • يتم إنشاء كائن الحساء الجميل بحجتين. الوسيطة الأولى يجب أن يتم حذفها من HTML ، بينما تحتوي الوسيطة الثانية على السلسلة النصية “html. المحلل اللغوي "الذي يمثل محلل HTML في Python.

استخلاص البيانات من خلال التفاعل مع مكونات من مواقع الويب الأخرى.

يتم استخدام الوحدة النمطية "url lib" للحصول على محتويات صفحة الويب. في بعض الأحيان لا يتم عرض المحتويات بالكامل ، وتصبح بعض المحتويات المخفية غير قابلة للوصول.

  • مكتبة Python ليس لديها خيارات للتفاعل مع صفحات الويب مباشرة. يمكن استخدام حزمة طرف ثالث مثل شوربة ميكانيكية لهذا الغرض.
  • يقوم The Mechanical soup بتثبيت متصفح بدون رأس ، متصفح بدون واجهة مستخدم رسومية (User Interface). يمكن التحكم في هذا المتصفح عن طريق برامج بايثون.
  • لتثبيت الحساء الميكانيكي ، قم بتشغيل برنامج python التالي.

python3 -m pip install MechanicalSoup

  • تعرض أداة النقطة تفاصيل الحزمة المثبتة.

الغرض من تجريف الويب

توضح القائمة التالية الأغراض الشائعة التي يتم من أجلها تجريف الويب.

  1. كشط تفاصيل أسعار الأسهم وتحميلها على تطبيق API.
  2. الحصول على البيانات من الصفحات الصفراء لإنشاء عملاء متوقعين.
  3. كشط البيانات من مكتشف المتجر لتحديد مواقع العمل الفعالة.
  4. كشط المعلومات عن المنتجات من أمازون أو منصات أخرى لتحليل المنافسين.
  5. جمع البيانات عن الرياضة للمراهنة أو الترفيه.
  6. تحليل البيانات المالية للدراسة والبحث في السوق.

خاتمة

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

إذا كنت ترغب في معرفة المزيد عن علم البيانات ، فإننا نوصيك بالانضمام إلى برنامجنا التنفيذي لمدة 12 شهرًا في دورة علوم البيانات من IIIT Bangalore ، حيث ستكون على دراية بالتعلم الآلي والإحصاءات و EDA والتحليلات والخوارزميات الأخرى المهمة لـ معالجة البيانات. من خلال التعرض لأكثر من 60 مشروعًا ودراسات حالة ومشاريع تتويجًا ، ستتقن أربع أدوات ولغات للبرمجة ، بما في ذلك Python و SQL و Tableau. يمكنك أيضًا الاستفادة من ميزة التعلم من الأقران التي توفرها upGrad للطلاب من خلال توفير الوصول إلى قاعدة المتعلمين التي تزيد عن 40،000.

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

خطط لوظيفتك في علم البيانات اليوم

تقدم بطلب للحصول على برنامج الشهادة المتقدمة في علوم البيانات من IIIT-B