إياد أحمد نشر 26 نوفمبر 2021 أرسل تقرير نشر 26 نوفمبر 2021 أرغب في الحصول على كافة وسوم <a> التابعة لـ <li>: <div> <li class="c"> <a>linkA</a> <ul> <li> <a>linkB</a> </li> </ul> </li> </div> كيف يمكننا القيام بذلك؟ 2 اقتباس
0 Ali Haidar Ahmad نشر 26 نوفمبر 2021 أرسل تقرير نشر 26 نوفمبر 2021 يمكنك القيام بذلك من خلال إيجاد الإمساك بالوسم li ثم الحصول على الوسوم الأبناء a من خلال الدالة findChildren كما يلي: # استيراد الوحدات اللازمة from bs4 import BeautifulSoup html="""<div> <li class="c"> <a>linkA</a> <ul> <li> <a>linkB</a> </li> </ul> </li> </div> """ # BeautifulSoup تحليل الملف الذي تم الحصول عليه من خلال soup = BeautifulSoup(html, 'html.parser') # c ذو الكلاس li إيجاد الوسم li = soup.find('li', {'class': 'c'}) # الأبناء a لإيجاد الوسوم # findChildren نستخدم الدالة children = li.findChildren("a" , recursive=True) # الآن نقوم بطباعتهم for child in children: print(child) """ <a>linkA</a> <a>linkB</a> """ اقتباس
0 سامح أشرف نشر 27 نوفمبر 2021 أرسل تقرير نشر 27 نوفمبر 2021 تحتوي مكتبة BeautifulSoup على التابع select و select_one والذي يقبل كلًا منهما محدد CSS وبالتالي يمكنك أن تقوم بتحديد كل عناصر a الموجودة داخل عناصر li كالتالي: from bs4 import BeautifulSoup content="""<div> <li class="c"> <a>linkA</a> <ul> <li> <a>linkB</a> </li> </ul> </li> </div> """ soup = BeautifulSoup(content, features='lxml') anchors = soup.select('li a') print(anchors) # [<a>linkA</a>, <a>linkB</a>] التابع select يقوم بتحديد كل العناصر المطابقة لمحدد CSS، بينما التابع select_one يقوم بإرجاع أول عنصر يجده فقط. 1 اقتباس
السؤال
إياد أحمد
أرغب في الحصول على كافة وسوم <a> التابعة لـ <li>:
كيف يمكننا القيام بذلك؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.