python - 如何
在美丽的汤中提取文本直到标记
问题描述
我想从 div 中提取直到<br>
标签。这个怎么做,
例如,
<div class="content-cell mdl-cell mdl-cell--6-col mdl-typography--body-1">Watched a video that has been removed<br>Aug 17, 2018, 2:34:28 PM UTC</div>
这个我用过
print content.text
它输出,
Watched a video that has been removedAug 17, 2018, 2:34:28 PM UTC
但预期的输出是,观看了一个已被删除的视频
之后我不想发短信<br>
<br>
此外,我可以尝试这个之后专门得到,
content.find('br').text
现在我想像下面那样做
result= (content.find('br').text).replace((content.find('br').text),'')
有没有其他更好的方法来避免使用beautifulsoup 的额外字符串替换方法?
解决方案
from bs4 import BeautifulSoup
html="""<div class="content-cell mdl-cell mdl-cell--6-col mdl-typography--body-1">Watched a video that has been removed<br>Aug 17, 2018, 2:34:28 PM UTC</div>"""
soup = BeautifulSoup(html)
print(soup.find("div").contents[0])
输出应该是:
Watched a video that has been removed
推荐阅读
- angular - Angular 如何在内部实现路由?
- python - 如何在 Python 中使用 datetime 或 pandas 检索今天的日期,不包括周末
- python - endScreen 再次播放按钮问题如何解决?
- python - 在python中使用子进程模块来存储“pwd”命令的结果
- reactjs - ReactRouterHashLink 不能很好地与材质 UI 抽屉配合使用
- java - 工具栏干扰使用 SearchView 过滤 RecyclerView
- swift - 快速解码复合结构数据
- javascript - 滚动时,YouTube 视频嵌入在移动设备上消失
- java - 如何获取页面中多个 URL 的所有链接并检查它是否损坏并在 Excel 表中更新?
- c# - Entity Framework Core 3.1.3 在 AWS Lambda 函数和 AWS API Gateway 无服务器 API 中使用的第一个查询非常慢