تجريف الويب هو فن استخراج البيانات من موقع ويب في شكل آلي ومنظم جيدا. يمكن أن تكون هناك تنسيقات مختلفة لكشط البيانات مثل Excel و CSV وغيرها الكثير. بعض حالات الاستخدام العملي لتجريف الويب هي أبحاث السوق ومراقبة الأسعار ومعلومات الأسعار وأبحاث السوق وتوليد العملاء المحتملين. تجريف الويب هو تقنية مفيدة لتحقيق أقصى استفادة من البيانات المتاحة للجمهور واتخاذ قرارات أكثر ذكاء. لذلك من الرائع أن يعرف الجميع على الأقل أساسيات تجريف الويب للاستفادة منه.
لقد رأينا الآن كيف تعمل عملية تجريف الويب. لنبدأ بالترميز ،
في معظم الحالات ، يأتي Colab مع حزم الجهات الخارجية المثبتة بالفعل. ولكن مع ذلك ، إذا كانت بيانات الاستيراد الخاصة بك لا تعمل ، فيمكنك حل هذه المشكلة عن طريق تثبيت بعض الحزم بواسطة الأوامر التالية ،
سيعرض إخراج النموذج ،
دعونا نحاول فهم هذا الجزء من التعليمات البرمجية ،
يعطي مخرجات طويلة جدا. بعض لقطات الشاشة مرفقة أدناه.
أحد أعظم الأشياء في Beautiful Soup هو أنه مبني على مكتبات تحليل HTML مثل html5lib و html.parse و lxml وما إلى ذلك والتي تسمح بكائن Beautiful Soap وتحديد مكتبة المحلل اللغوي ليتم إنشاؤها في وقت واحد.
في الكود أعلاه ، أنشأنا كائن Beautiful Soup عن طريق تمرير وسيطتين:
أخيرا ، تتم طباعة soup.prettify() ، مما يعطي التمثيل المرئي لشجرة التحليل من محتوى HTML الخام.
حان الوقت الآن لاستخراج بعض البيانات المفيدة من محتوى HTML. تحتوي كائنات الحساء على البيانات في شكل بنية متداخلة ، والتي يمكن استخراجها برمجيا بشكل أكبر. في حالتنا ، نقوم بكشط صفحة ويب تتكون من بعض علامات الاقتباس. لذلك سنقوم بإنشاء برنامج يحل هذه الاقتباسات. ويرد الرمز أدناه ،
قبل المضي قدما ، يوصى بتصفح محتوى HTML لصفحة الويب ، والذي قمنا بطباعته باستخدام طريقة soup.prettify() ومحاولة العثور على نمط للانتقال إلى علامات الاقتباس.
الآن سأشرح كيف ننجز ذلك في الكود أعلاه ،
إذا انتقلنا عبر علامات الاقتباس ، فسنجد أن جميع علامات الاقتباس موجودة داخل حاوية div معرفها "all_quotes". لذلك نجد أن عنصر div (يسمى الجدول في الكود) باستخدام طريقة find() :
الوسيطة الأولى في هذه الوظيفة هي أن علامة HTML تحتاج إلى البحث. الوسيطة الثانية هي عنصر نوع قاموس لتحديد السمات الإضافية المقترنة بهذه العلامة. ترجع طريقة find() العنصر المطابق الأول. يمكن للمرء أن يجرب table.prettify() للحصول على شعور أفضل بما يفعله هذا الجزء من التعليمات البرمجية.
إذا ركزنا على عنصر الجدول ، فإن حاوية div تحتوي على كل اقتباس تكون فئته اقتباسا. لذلك سوف نحلق عبر كل حاوية div فئتها اقتباس.
هنا تعد طريقة findAll() مفيدة جدا تشبه طريقة find() فيما يتعلق بالحجج ، ولكن الاختلاف الرئيسي هو أنها ترجع قائمة بجميع العناصر المطابقة.
نحن نكرر من خلال كل اقتباس باستخدام متغير يسمى الصف.
دعنا نحلل عينة واحدة من محتوى صف HTML لفهم أفضل:
الآن ضع في اعتبارك الجزء التالي من التعليمات البرمجية:
علاوة على ذلك ، يمكننا أيضا إضافة سمات العلامة وإزالتها وتعديلها والوصول إليها. لقد فعلنا ذلك من خلال التعامل مع العلامة كقاموس:
أخيرا ، سنقوم بإنشاء ملف CSV ، والذي سيتم استخدامه لحفظ بياناتنا.
لقد قمنا بتسمية ملفنا inspirational_qoutes.csv وحفظنا جميع علامات الاقتباس فيه لاستخدامها في المستقبل أيضا. إليك كيف يبدو ملف inspirational_quotes.csv الخاص بنا ،
في الإخراج أعلاه ، أظهرنا ثلاثة صفوف فقط ، ولكن هناك 33 صفا في الواقع. هذا يعني أننا استخلصنا كمية كبيرة من البيانات من صفحة الويب بمجرد محاولة بسيطة.
بعض سيناريوهات العالم الحقيقي التي يمكن أن يكون فيها تجريف الويب ذا فائدة كبيرة هي ،
يعد إجراء أبحاث السوق الصحيحة أهم عنصر في كل عمل تجاري ، وبالتالي فهو يتطلب معلومات دقيقة للغاية. يتم تغذية تحليل السوق من خلال تجريف الويب عالي الحجم والجودة العالية والبصيرة للغاية ، والتي يمكن أن تكون بأحجام وأشكال مختلفة. يمكن أن تكون هذه البيانات أداة مفيدة للغاية لأداء ذكاء الأعمال. ينصب التركيز الرئيسي لأبحاث السوق على الجوانب التجارية التالية:
يمكن أن يكون تجريف الويب تقنية مفيدة ومثمرة للغاية لإنشاء القوائم وفقا لأنواع الأعمال ، على سبيل المثال ، العقارات ومتاجر التجارة الإلكترونية. يمكن أن تساعد أداة تجريف الويب الشركة في تصفح آلاف قوائم منتجات المنافس في متجرها وجمع كل المعلومات الضرورية مثل التسعير وتفاصيل المنتج والمتغيرات والمراجعات. يمكن القيام بذلك في غضون ساعات قليلة ، مما قد يساعد بشكل أكبر في إنشاء قوائم خاصة بك ، وبالتالي التركيز بشكل أكبر على طلبات العملاء.
يساعد تجريف الويب العديد من الشركات على جمع المعلومات ومقارنتها وتوفير تلك البيانات بطريقة ذات معنى. دعنا نفكر في مواقع مقارنة الأسعار التي تستخرج المراجعات والميزات وجميع التفاصيل الأساسية من مواقع الويب الأخرى المختلفة. يمكن تجميع هذه التفاصيل وتخصيصها لسهولة الوصول إليها. لذلك يمكن إنشاء قائمة من تجار تجزئة مختلفين عندما يبحث المشتري عن منتج معين. ومن ثم فإن تجريف الويب سيجعل عملية صنع القرار أسهل كثيرا للمستهلك من خلال إظهار تحليلات المنتجات المختلفة وفقا لطلب المستهلك.
يمكن أن يساعد تجريف الويب في تجميع المعلومات وعرضها في شكل منظم للمستخدم. دعونا ننظر في حالة مجمعي الأخبار. سيتم استخدام تجريف الويب بالطرق التالية ،
لذلك في هذه المقالة ، أجرينا تحليلا متعمقا لكيفية عمل تجريف الويب مع الأخذ في الاعتبار حالة الاستخدام العملي. لقد قمنا أيضا بتمرين بسيط للغاية حول إنشاء مكشطة ويب بسيطة في Python. الآن يمكنك كشط أي مواقع أخرى من اختيارك. علاوة على ذلك ، رأينا أيضا بعض سيناريوهات العالم الحقيقي التي يمكن أن يلعب فيها تجريف الويب دورا مهما. نأمل أن تكون قد استمتعت بالمقال وكان كل شيء واضحا وممتعا ومفهوما.