إياد أحمد نشر 24 نوفمبر 2021 أرسل تقرير نشر 24 نوفمبر 2021 كيف يمكننا القيام بتغليف عنصر ما، بوسم آخر، ففرضاً لدي المستند التالي: <p> sometexthere </p> وأريد أن يتم تغليفه بالوسمين <i> و <div>: <div><p><i> sometexthere </i></p></div> كيف نقوم بذلك؟ 2 اقتباس
1 Ali Haidar Ahmad نشر 24 نوفمبر 2021 أرسل تقرير نشر 24 نوفمبر 2021 يمكنك القيام بذلك من خلال استخدام الدالة wrap كما يلي: # importing BeautifulSoup Module from bs4 import BeautifulSoup htmlDoc = '<p> sometexthere </p>' # BeautifulSoup تحليل النص الذي تم الحصول عليه من خلال soup = BeautifulSoup(htmlDoc, 'lxml') # تنفيذ عملية تغليف حول السلسلة soup.p.string.wrap(soup.new_tag("i")) print(soup) # <html><body><p><i> sometexthere </i></p></body></html> # تنفيذ عملية تغليف حول الوسم soup.p.wrap(soup.new_tag("div")) print(soup) # <html><body><div><p><i> sometexthere </i></p></div></body></html> 1 اقتباس
1 سامح أشرف نشر 24 نوفمبر 2021 أرسل تقرير نشر 24 نوفمبر 2021 يمكنك أن تقوم بعمل عنصر جديد من خلال التابع new_tag ثم تقوم بإضافة العنصر العناصر الأبناء إليه، كالتالي: from bs4 import BeautifulSoup soup = BeautifulSoup('<p> sometexthere </p>', features='lxml') # إنشاء العناصر div_element = soup.new_tag('div', **{"class":"container"}) # يمكنك أن تضيف خصائص أيضًا من هنا i_element = soup.new_tag('i') # إحاطة النص بالعنصر i soup.p.string.wrap(i_element) # إضافة كل العناصر إلى العنصر div الذي قمنا بإنشائه body_children = list(soup.body.children) for child in body_children: div_element.append(child) # إزالة كل العناصر من جسم الصفحة soup.body.clear() # إضافة العنصر div الذي يحتوي على كل العناصر إلى جسم الصفحة soup.body.append(div_element) print(soup.prettify()) """ <html> <body> <div class="container"> <p> <i> sometexthere </i> </p> </div> </body> </html> """ 2 اقتباس
السؤال
إياد أحمد
كيف يمكننا القيام بتغليف عنصر ما، بوسم آخر، ففرضاً لدي المستند التالي:
وأريد أن يتم تغليفه بالوسمين <i> و <div>:
كيف نقوم بذلك؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.