Skip to main content
 首页 » 编程设计

python之在 BeautifulSoap 输出中用空格替换 br>

2025年05月04日20yyy_WW

我正在抓取一些与 BeautifulSoap 的链接,但它似乎完全忽略了 <br>标签。

这是我正在抓取的网址源代码的相关部分:

<h1 class="para-title">A quick brown fox jumps over<br>the lazy dog 
<span id="something">&#xe800;</span></h1> 

这是我的 BeautifulSoap 代码(仅相关部分),用于获取 h1 内的文本标签:

    soup = BeautifulSoup(page, 'html.parser') 
    title_box = soup.find('h1', attrs={'class': 'para-title'}) 
    title = title_box.text.strip() 
    print title 

这给出了以下输出:

    A quick brown fox jumps overthe lazy dog 

而我期待的是:

    A quick brown fox jumps over the lazy dog 

如何替换 <br>用space在我的代码中?

请您参考如下方法:

使用带有分隔符参数的 .get_text() 怎么样?

from bs4 import BeautifulSoup 
 
page = '''<h1 class="para-title">A quick brown fox jumps over<br>the lazy dog 
<span>some stuff here</span></h1>''' 
 
 
soup = BeautifulSoup(page, 'html.parser') 
title_box = soup.find('h1', attrs={'class': 'para-title'}) 
title = title_box.get_text(separator=" ").strip() 
print (title)    

输出:

print (title) 
A quick brown fox jumps over the lazy dog 
 some stuff here