عندما يتعلق الأمر بالبحث عن عناصر في BeautifulSoup التي تحمل صفات محددة، يظهر أحيانًا تحدي في تحديد العناصر التي تحتوي على فئة تبدأ بنص معين. في حالتك، ترغب في البحث عن جميع عناصر div التي تحمل فئة تبدأ بـ “span3”. على الرغم من أن BeautifulSoup لا يدعم تمامًا التعبيرات العادية في عمليات البحث، إلا أنه يمكننا استخدام وظائف Python لتحقيق هذا الهدف.
للقيام بذلك، يمكنك استخدام وظيفة قائمة لفلترة النتائج باستخدام التعبير العادي. في هذا السياق، يمكننا استخدام وحدة re لتنفيذ التعبير العادي. إليك كيف يمكنك تحقيق ذلك:
pythonimport re
from bs4 import BeautifulSoup
# قم بتمثيل صفحتك HTML كنص
html_content = """
Content 1
Content 2
Content 3
"""
# قم بتحليل النص باستخدام BeautifulSoup
soup = BeautifulSoup(html_content, 'html.parser')
# ابحث عن جميع العناصر div التي تحتوي على فئة تبدأ بـ "span3"
regex_pattern = re.compile(r'^span3')
filtered_divs = soup.find_all('div', class_=regex_pattern)
# قم بطباعة النتائج
for div in filtered_divs:
print(div)
في هذا السياق، يقوم الكود بتحديد النص الذي يبدأ بـ “span3” باستخدام التعبير العادي ^span3
، ثم يقوم بطباعة النتائج. النتيجة ستتضمن جميع العناصر div التي تحتوي على فئة تبدأ بـ “span3″، وهي النتائج المتوقعة التي ذكرتها في سؤالك.
المزيد من المعلومات
تعتبر مكتبة BeautifulSoup أحد أدوات تحليل HTML وXML في Python، وهي توفر واجهة برمجة سهلة الاستخدام لاستخراج المعلومات من صفحات الويب. يمكن استخدامها للتلاعب بعناصر HTML بشكل فعال وسهل. دعنا نقدم بعض المعلومات الإضافية حول BeautifulSoup:
-
تحليل الصفحة:
يتم تحليل صفحة HTML أو XML باستخدام BeautifulSoup باستخدام محلل HTML مدمج. في المثال السابق، تم استخدام'html.parser'
كمحلل لتحليل الصفحة. -
البحث عن العناصر:
يمكن استخدام وظيفةfind
للعثور على أول عنصر يطابق الشروط المحددة، بينما يستخدمfind_all
للعثور على جميع العناصر المتطابقة. في المثال، استخدمناfind_all
للبحث عن جميع العناصر div التي تحتوي على فئة تبدأ بـ “span3”. -
استخدام التعبيرات العادية:
في هذا السياق، تم استخدام وحدةre
لتنفيذ التعبير العادي، الذي يبدأ بالرمز^
للتأكد من أن النص يبدأ بـ “span3”. -
طباعة النتائج:
يتم طباعة النتائج باستخدام حلقةfor
لتصفح العناصر التي تم العثور عليها. في السياق الحالي، سيتم طباعة العناصر div التي تحتوي على فئة تبدأ بـ “span3”. -
التفاعل مع النتائج:
يمكنك تفعيل النتائج المسترجعة بواسطة BeautifulSoup بشكل مباشر، سواء عبر استخدام النص أو استخدام الوظائف الأخرى المتاحة للاستفادة من المحتوى.
بهذا الشكل، تمثل BeautifulSoup أداة قوية ومفيدة لاستخراج البيانات من صفحات الويب بشكل بسيط وفعّال في بيئة Python، مما يسهل على المطورين تحليل وفهرسة المعلومات بشكل فعال.