我想从一个标签中提取数据来简单地检索文本。不幸的是,我不能只提取文本,我总是在这个标签中有链接。
是否可以删除文本中的所有<img>
和<a href>
标记?
<div class="xxx" data-handler="xxx">its a good day
<a class="link" href="https://" title="text">https:// link</a></div>
我只想收回这个:its a good day
并忽略<div>
标记中<a href>
标记的内容
目前我通过beautifulsoup.find('div)
执行提取
4条答案
按热度按时间balp4ylt1#
尝试执行此操作
rqmkfv5c2#
让我们导入
re
并使用re.sub
:输出
u5rb5r593#
编辑
根据您的意见,应该捕获
<a>
之前的所有文本,而不仅仅是元素中的第一个文本,选择所有previous_siblings
并检查NavigableString
:示例
要仅关注文本而不是元素的子标记,可以用途:
如果模式始终相同,并且文本是元素中内容的第一部分:
示例
输出
wsxa1bj14#
因此,基本上,您不希望在
<a>
标记中包含任何文本,也不希望在所有标记中包含任何内容。输出: