البرمجة

استخدام Beautiful Soup لاستخراج علامات HTML والتحليل الهيكلي

عند استخدام مكتبة Beautiful Soup لاستخراج جميع العلامات HTML من نص معين، يمكنك القيام بذلك بطريقة فعّالة وبسيطة. في هذا السياق، يمكنك استخدام Beautiful Soup لتحليل النص HTML واستخراج العلامات بشكل ذكي. سأقدم لك شرحاً تفصيلياً حول كيفية القيام بذلك.

أولاً وقبل أي شيء، يجب عليك استيراد مكتبة Beautiful Soup وتحديد نص HTML الذي ترغب في تحليله. يمكنك القيام بذلك كما يلي:

python
from bs4 import BeautifulSoup html = """

I am trying to get a list of all html tags from beautiful soup.

I see find all but I have to know the name of the tag before I search.

If there is text like

html = """<div>something</div>
<div>something else</div>
<div class='magical'>hi there</div>
<p>ok</p>"""

How would I get a list like

list_of_tags = ["<div>", "<div>", "<div class='magical'>", "<p>"]

I know how to do this with regex, but am trying to learn BS4

"""

soup = BeautifulSoup(html, 'html.parser')

بعد ذلك، يمكنك استخدام الأمر find_all للبحث عن جميع العلامات في النص. يمكنك تحقيق ذلك باستخدام الكود التالي:

python
tags = [tag.name for tag in soup.find_all()]

في هذا الكود، نقوم بالتحقق من tag.name حيث يتم استخدام tag.name للوصول إلى اسم العلامة. تمثل soup.find_all() جميع العلامات الموجودة في النص، ونقوم بتخزين أسماء العلامات في قائمة تسمى tags.

بهذا، يمكنك الحصول على قائمة تحتوي على جميع العلامات الHTML الموجودة في النص. يمكنك استخدام هذه القائمة كمرجع لاحقٍ في تحليل وفهم بنية الصفحة والعلامات المستخدمة فيها.

المزيد من المعلومات

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

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

التي تحتوي على فئة “magical”، يمكنك استخدام الكود التالي:

python
magical_divs = soup.find_all('div', class_='magical')

في هذا السياق، يقوم الكود بالبحث عن جميع العناصر

ذات الفئة “magical” وتخزينها في قائمة تسمى magical_divs. يمكنك استخدام هذا النوع من البحث لتحديد العناصر التي ترغب فيها بناءً على معايير محددة.

بالإضافة إلى ذلك، يمكنك أيضًا استخدام Beautiful Soup لاستخراج النصوص داخل العناصر. على سبيل المثال، إذا كنت ترغب في الحصول على النص الذي يتواجد داخل العناصر

، يمكنك استخدام الكود التالي:

python
paragraph_texts = [paragraph.get_text() for paragraph in soup.find_all('p')]

هنا، يتم استخدام get_text() لاستخراج النص من داخل عناصر

وتخزينه في قائمة تسمى paragraph_texts.

بهذا، يمكنك رؤية كيف يمكن لـ Beautiful Soup أن تكون أداة قوية لتحليل واستخراج المعلومات من صفحات الويب بشكل أكثر تفصيلاً. يمكنك استكشاف المزيد من وظائفها والتعمق في التحليل الهيكلي لصفحات HTML لتحقيق فهم أعمق وشامل.

زر الذهاب إلى الأعلى

المحتوى محمي من النسخ !!