📜  使用 beautifulsoup 获取 br 标记后的文本 (1)

📅  最后修改于: 2023-12-03 15:06:45.307000             🧑  作者: Mango

使用 beautifulsoup 获取 br 标记后的文本

BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据。其中,使用 find_all() 方法可以找到 HTML 中的所有标签。在使用 beautifulsoup 获取一个段落或一段文本中的 br 标记后的文本时,可以通过处理 Tag 对象来实现。

下面是一个简单示例,演示如何使用 beautifulsoup 获取 br 标记后的文本:

from bs4 import BeautifulSoup

# HTML 代码片段
html = '<p>这是一段带有<br>换行符的<br>文本。</p>'

# 创建 beautifulsoup 对象
soup = BeautifulSoup(html, 'html.parser')

# 获取 p 标签对象
p = soup.find('p')

# 打印包含 br 标记后的文本
print(p.get_text(separator='\n'))

输出结果如下:

这是一段带有
换行符的
文本。

这里使用了 get_text() 方法来获取 p 标签对象中的文本。在调用 get_text() 方法的时候,使用 separator 参数来指定换行符,以便使用作为分隔符。

除此之外,还可以通过使用 contents 属性来获取包含 br 标记的子元素列表,在将其转换成字符串后,即可得到包含换行符的文本。示例代码如下:

from bs4 import BeautifulSoup

# HTML 代码片段
html = '<p>这是一段带有<br>换行符的<br>文本。</p>'

# 创建 beautifulsoup 对象
soup = BeautifulSoup(html, 'html.parser')

# 获取 p 标签对象
p = soup.find('p')

# 创建包含 br 标记的子元素列表
br_list = [element for element in p.contents if str(element) != '<br/>']

# 将子元素列表转换成字符串,获取其中的文本
text = "\n".join([str(element) for element in br_list])

# 打印包含 br 标记后的文本
print(text)

输出结果如下:

这是一段带有
换行符的
文本。

以上就是使用 beautifulsoup 获取 br 标记后的文本的示例代码。