[英]BeautifulSoup4: replace a tag with 2 others
我想用<b><u>title</u></b>
替換<h1>title</h1>
<b><u>title</u></b>
我知道我可以使用soup.h1.name = "b"
b
替換為h1
但是,是否有一種方法可以用多個其他標簽替換單個標簽?
(對Daniel Roseman的特別編輯: 標簽並不重要... )
使用wrap()
從文檔中:
soup = BeautifulSoup("<p>I wish I was bold.</p>")
soup.p.string.wrap(soup.new_tag("b"))
# <b>I wish I was bold.</b>
soup.p.wrap(soup.new_tag("div"))
# <div><p><b>I wish I was bold.</b></p></div>
多虧了RobertB,我才能弄清楚其余的答案。
你需要:
p
包裝h1
h1
與新的標簽u
h1
(使用unwrap()
) <!-- language: python -->
from bs4 import BeautifulSoup
soup = BeautifulSoup("<h1>title</h1>", "html.parser")
soup.h1.string.wrap(soup.new_tag("b"))
print(soup) # >> <h1><b>title</b></h1>
soup.h1.string.wrap(soup.new_tag("u"))
print(soup) # >> <h1><b><u>title</u></b></h1>
soup.h1.unwrap()
print(soup) #>> <b><u>title</u></b>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.