簡體   English   中英

BeautifulSoup4:用另外2個替換標簽

[英]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,我才能弄清楚其余的答案。

你需要:

  1. 用新標簽p包裝h1
  2. 包裹h1與新的標簽u
  3. 刪除標簽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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM