栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

获取HTML标签的文本,而没有内部子标签的文本

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

获取HTML标签的文本,而没有内部子标签的文本

更新 为使用更通用的方法(请参阅编辑历史记录以获取原始答案):

您可以通过测试外部div的子元素是否是的实例来提取它们

NavigableString

from bs4 import BeautifulSoup, NavigableStringhtml = '''<div id="1">    <div id="2">        this is the text i do NOT want    </div>    this is the text i want here</div>'''soup = BeautifulSoup(html)    outer = soup.divinner_text = [element for element in outer if isinstance(element, NavigableString)]

这将导致外部div元素中包含一个字符串列表。

>>> inner_text[u'n', u'n    this is the text i want heren']>>> ''.join(inner_text)u'nn    this is the text i want heren'

对于第二个示例:

html = '''<div id="1">    this is the text i want here</div>'''soup2 = BeautifulSoup(html)    outer = soup2.divinner_text = [element for element in outer if isinstance(element, NavigableString)]>>> inner_text[u'n    this is the text i want heren']

这也适用于其他情况,例如,外部div的text元素在任何子标签之前,在子标签之间,多个文本元素之间或根本不存在。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/646536.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号