我正在抓取一些与 BeautifulSoap 的链接,但它似乎完全忽略了 <br>
标签。
这是我正在抓取的网址源代码的相关部分:
<h1 class="para-title">A quick brown fox jumps over<br>the lazy dog
<span id="something"></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
关于python - 在 BeautifulSoap 输出中用空格替换 <br>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55590092/