BeautifulSoup标签更换

时间:2017-05-27 15:21:09

标签: python beautifulsoup

输入时我有html:

<p>word1<br>word2</p>

我需要将<br>标记替换为</p><p>,输出将为:

<p>word1</p><p>word2</p>

我尝试将<br>替换为<p> - tag:

# PARAGRAPH TAG
for i in soup.findAll({'p' : True}):
    if len(i.text) == 0:
        i.extract()
    # BR IN PARAGRAPHS
    for br in i.findAll({'br' : True}):
        paragraphTag = soup.new_tag("p")
        br.replaceWith(paragraphTag)

但是在输出中我有:

<p>word1</p><p/>word2

我尝试将<br>替换为字符串</p><p>,但此变体也不起作用,因为<>替换了代码

<p>lorem&lt;/p&gt;&lt;p&gt;lorem2</p>

1 个答案:

答案 0 :(得分:1)

不需要bs4。

html="<p>word1<br>word2</p>"
html='</p><p>'.join(html.split('<br>'))