如何用BeautifulSoup添加<br/>标签?

时间:2015-07-02 04:10:49

标签: python python-3.x beautifulsoup

所以,让我说我有

<p>Hello World</p>

BeautifulSoup可以添加这样的标签吗?

<br><p>Hello World</p>

最初,我可以通过以下方式解决这个问题:

soup = BeautifulSoup("<p>Hello World<p>")
soup = BeautifulSoup(re.compile('(<p>)', '<br>\1', soup.prettify())

但问题是在实际使用中使用更复杂的html时,.prettify()会通过添加额外的空格和行来混淆html。

我检查了文档,但它甚至没有提到

<br>

标签。

1 个答案:

答案 0 :(得分:0)

可以使用soup.insert()函数

完成
>>> br = soup.new_tag('br')
>>> br
<br/>
>>> soup = BeautifulSoup("<p>Hello World</p>")
>>> soup.insert(0,br)
>>> soup
<br/><p>Hello World</p>

insert()函数在任意数字位置插入标记。这里我们指定为0,因此它在开头插入。