إنشاء مكشطة ويب باستخدام BeautifulSoup – دليل كامل
نشرت: 2024-03-19بالنسبة لأولئك الذين يتطلعون إلى الاستفادة من قوة بيانات الويب، تبرز BeautifulSoup كأداة قوية وبديهية. تم تصميم مكتبة Python هذه لأغراض استخراج البيانات من الويب، مما يسمح لك باستخراج معلومات محددة من صفحات الويب بسهولة. سيرشدك هذا الدليل خلال إنشاء أداة استخراج الويب باستخدام BeautifulSoup، وعملية استخراج الويب باستخدام beautifulsoup، بدءًا من إعداد بيئتك وحتى تحليل البيانات التي تحتاجها واستخراجها.
مقدمة إلى تجريف الويب باستخدام BeautifulSoup
تجريف الويب هو عملية جمع المعلومات برمجيًا من شبكة الويب العالمية. إنها تقنية قيمة تستخدم في استخراج البيانات، وجمع المعلومات، ومهام الأتمتة. توفر BeautifulSoup، المقترنة بمكتبة طلبات Python، أسلوبًا مباشرًا لتجميع الويب، مما يجعلها في متناول المبرمجين من جميع المستويات. يتضمن Web Scrape with BeautifulSoup متطلبات أساسية مختلفة.
المتطلبات الأساسية
قبل الغوص في BeautifulSoup، تأكد من تغطية المتطلبات الأساسية التالية:
- المعرفة الأساسية ببرمجة بايثون.
- تم تثبيت بايثون على نظامك.
- الإلمام بـ HTML وبنية صفحات الويب.
إعداد بيئتك
- تثبيت Python : تأكد من تثبيت Python على نظامك. يوصى باستخدام Python 3 لميزاته ودعمه المحسن.
- تثبيت BeautifulSoup والطلبات : افتح سطر الأوامر أو الوحدة الطرفية لديك وقم بتثبيت المكتبات الضرورية باستخدام النقطة، مثبت حزمة Python. قم بتشغيل الأوامر التالية:
نقطة تثبيت beautifulsoup4
طلبات تثبيت النقطة
إنشاء مكشطة الويب الأولى الخاصة بك
يعد إنشاء أول مكشطة ويب باستخدام BeautifulSoup خطوة مثيرة في عالم استخراج البيانات من الويب. سيرشدك هذا الدليل إلى أساسيات إعداد أداة استخراج بسيطة باستخدام Python وBeautifulSoup لجلب محتوى الويب وتحليله بكفاءة. سنستخرج اقتباسات من "http://quotes.toscrape.com"، وهو موقع ويب مصمم لممارسة مهارات استخراج الويب.
الخطوة 1: إعداد بيئة بايثون الخاصة بك
تأكد من تثبيت بايثون على جهاز الكمبيوتر الخاص بك. ستحتاج أيضًا إلى مكتبتين رئيسيتين: طلبات تقديم طلبات HTTP للحصول على صفحات الويب، و beautifulsoup4 لتحليل محتوى HTML.
إذا لم تكن قد قمت بتثبيت هذه المكتبات بعد، فيمكنك القيام بذلك باستخدام pip، وهو مثبت حزمة Python. افتح المحطة الطرفية أو موجه الأوامر وقم بتنفيذ الأوامر التالية:
نقطة تثبيت beautifulsoup4
طلبات تثبيت النقطة
الخطوة 2: إحضار صفحة الويب
لمسح الويب باستخدام BeautifulSoup، ابدأ بكتابة برنامج Python النصي لجلب محتوى HTML للصفحة التي تنوي استخلاصها. في هذه الحالة، سنقوم بجلب علامات الاقتباس من "http://quotes.toscrape.com".
طلبات الاستيراد
# URL لموقع الويب الذي تريد استخلاصه
عنوان URL = 'http://quotes.toscrape.com'
# استخدم مكتبة الطلبات للحصول على محتوى الموقع
الاستجابة = طلبات.get(url)
# التأكد من نجاح الطلب
إذا كان Response.status_code == 200:
طباعة ("تم جلب صفحة الويب بنجاح!")
آخر:
طباعة ("فشل جلب صفحة الويب.")
الخطوة 3: تحليل محتوى HTML باستخدام BeautifulSoup
بمجرد جلب صفحة الويب، فإن الخطوة التالية هي تحليل محتوى HTML الخاص بها. يجعل BeautifulSoup هذه المهمة واضحة ومباشرة. قم بإنشاء كائن BeautifulSoup واستخدمه لتحليل نص الاستجابة.
من bs4 استيراد BeautifulSoup
# قم بإنشاء كائن BeautifulSoup وحدد المحلل اللغوي
حساء = BeautifulSoup(response.text, 'html.parser')
# اطبع ملف HTML المُجمل لرؤية الهيكل
طباعة (soup.prettify ())
الخطوة 4: استخراج البيانات من HTML
الآن بعد أن قمت بتحليل HTML، يمكنك البدء في استخراج البيانات التي تهمك. فلنستخرج جميع علامات الاقتباس من الصفحة.
# ابحث عن جميع عناصر <span> ذات الفئة "نص" وكررها
اقتباسات = حساء.find_all('span', class_='text')
للاقتباس في الاقتباسات:
# اطبع محتوى النص لكل <span>
طباعة (اقتباس.نص)
يبحث هذا المقتطف عن جميع عناصر <span> التي تحتوي على نص الفئة - والتي تحتوي على علامات الاقتباس في الصفحة - ويطبع محتوى النص الخاص بها.
الخطوة 5: المضي قدما
يمكنك أيضًا استخراج معلومات أخرى، مثل مؤلفي الاقتباسات:
# ابحث عن جميع العناصر <small> ذات الفئة "author"
المؤلفون = sauce.find_all('small', class_='author')
للمؤلف في المؤلفين:
# اطبع محتوى النص لكل <صغير>، والذي يحتوي على اسم المؤلف
طباعة (المؤلف.نص)
سيؤدي هذا إلى طباعة اسم كل مؤلف وفقًا للاقتباسات التي استخرجتها.
أفضل الممارسات والاعتبارات
- احترام Robots.txt : تحقق دائمًا من ملف robots.txt الخاص بموقع الويب (على سبيل المثال، http://quotes.toscrape.com/robots.txt) قبل استخراجه. يخبرك بسياسة تجريف الموقع.
- التعامل مع الاستثناءات : تأكد من أن التعليمات البرمجية الخاصة بك تتعامل بأمان مع أخطاء الشبكة أو الاستجابات غير الصالحة.
- تحديد المعدل : انتبه لعدد الطلبات التي ترسلها إلى موقع الويب لتجنب حظرها.
- الاعتبارات القانونية : كن على دراية بالآثار القانونية المترتبة على تجريف الويب وتأكد من امتثال أنشطتك للقوانين ذات الصلة وشروط خدمة موقع الويب.
خاتمة
يفتح برنامج BeautifulSoup، ببساطته وقوته، عالمًا من الإمكانيات لاستخراج البيانات من الويب. سواء كنت تقوم بجمع البيانات للتحليل، أو مراقبة مواقع الويب لإجراء تغييرات، أو أتمتة المهام، فإن تجريف الويب باستخدام BeautifulSoup يعد مهارة لا تقدر بثمن في مجموعة أدوات البرمجة الخاصة بك. أثناء شروعك في رحلة تجريف الويب، تذكر أن تقوم بالكشط بطريقة مسؤولة وأخلاقية، مع احترام مواقع الويب التي تتفاعل معها. تجريف سعيد!