Python BeautifulSoup replace_with() 方法
replace_with() 方法是 BeautifulSoup 对象的方法,用于替换某个标签或字符串的内容。
该方法需要传入替换的内容,可以是字符串、标签或其他 BeautifulSoup 对象。
下面是使用 replace_with() 方法将一个标签替换成字符串的示例代码:
from bs4 import BeautifulSoup html = """ <div id="content"> <p>这是一段文字。</p> <ul> <li>列表项1</li> <li>列表项2</li> </ul> </div> """ soup = BeautifulSoup(html, 'html.parser') content_div = soup.find('div', {'id': 'content'}) # 将 <ul> 标签替换成字符串 ul_html = '<ul class="my-list"><li>pidancode.com</li><li>皮蛋编程</li></ul>' content_div.ul.replace_with(ul_html) print(content_div.p) print(content_div.ul) # None print(content_div.find('ul', {'class': 'my-list'}))
该代码输出:
<p>这是一段文字。</p> None <ul class="my-list"><li>pidancode.com</li><li>皮蛋编程</li></ul>
在这个例子中,我们首先使用 BeautifulSoup 对象解析了一个 HTML 字符串,然后找到了 id 为 content 的 div 标签。
接着,我们将该 div 标签中的 ul 标签内容替换成了一个字符串。替换后,我们通过输出 content_div.p
和 content_div.ul
,确认 p 标签未被改变,而原来的 ul 标签已被删除,并被新的 ul 标签所取代。
最后,我们使用 find()
方法找到了新的 ul 标签,并将其输出。
相关文章