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

标签 python web-scraping beautifulsoup

我正在抓取一些与 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

关于python - 在 BeautifulSoap 输出中用空格替换 <br>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55590092/

相关文章:

Python - 按月汇总并计算平均值

java - Python 中的分层任务网络规划器

python - Cloudflare 碎片

python - 在 Python 中修复损坏的 HTML - Beautifulsoup 不工作

javascript - 如何通过由javascript提交的phpcurl登录,即表单中没有提交按钮

python - 在 Pylons 或 Python 中销毁 session

python - 如何提取精确的 css 选择器

python - 如何使用 Beautiful Soup 查找 ID 不断变化的标签?

python - 使用 BeautifulSoup 从表中解析数据

python - 将 CNC 钻孔从旧系统转换为新系统(使用 Python)