اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

يمكنك القيام بذلك من خلال استخدام الدالة 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
نشر

يمكنك أن تقوم بعمل عنصر جديد من خلال التابع 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>
"""

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...