当前位置: 首页 > 面试题库 >

在获取Beautiful Soup元素的.string时如何忽略标签?

朱华皓
2023-03-14
问题内容

我正在使用带有子标记的HTML元素,这些子标记我想“忽略”或删除,以便文本仍然存在。刚才,如果我尝试.string使用带有标签的任何元素,那么我得到的仅仅是None

import bs4

soup = bs4.BeautifulSoup("""
    <div id="main">
      <p>This is a paragraph.</p>
      <p>This is a paragraph <span class="test">with a tag</span>.</p>
      <p>This is another paragraph.</p>
    </div>
""")

main = soup.find(id='main')
for child in main.children:
    print child.string

输出:

This is a paragraph.
None
This is another paragraph.

我要第二行This is a paragraph with a tag.。我该怎么做呢?


问题答案:
for child in soup.find(id='main'):
    if isinstance(child, bs4.Tag):
        print child.text

并且,您将获得:

This is a paragraph.
This is a paragraph with a tag.
This is another paragraph.


 类似资料:
  • 问题内容: HTML中是否有任何方法告诉浏览器不允许对特定元素进行标签索引? 在我的页面上,尽管有一个用jQuery呈现的杂耍,但是当您通过Tab进行制表时,您会在按下Tab控件移动到页面上的下一个可见链接之前获得大量的制表符按下,因为所有通过制表的内容都被隐藏了。视觉上的用户。 问题答案: 您可以使用。 W3C HTML5规范支持负的值: 如果值为负整数 ,则用户代理必须设置元素的tabinde

  • 问题内容: 我有这样的XML消息: 我想将被测试方法产生的这种类型的消息与预期的消息进行比较,但我不在乎。因此,我希望以上消息被认为等于: 我正在使用XMLUnit的最新版本。 我在想答案是创建一个习惯。如果有准备好要使用的东西,我只是不想重新发明轮子。 欢迎使用XMLUnit以外的库的建议。 问题答案: 自从回答了这个问题以来,XMLUnit发生了很多变化。 现在,您可以在使用时轻松忽略节​​点

  • 我初始化了一些元素,但不是我的锚窗格: 但是当我尝试单击MenuBar或List View时,它不起作用。例如,在这种情况下,我可以单击按钮(可能),因为它是我在AnchorPane构造函数中初始化的最后一个元素。我不能使用BorderPane或任何其他布局,因此我需要找到具有此配置的解决方案。这些是我的fxml文件: list.fxml 菜单栏。fxml rea.fxml 按钮fxml text

  • 问题内容: 在React(Facebook的框架)中,我需要使用standard 属性渲染绑定到文本输入的label元素。 例如,使用以下JSX: 但是,这将导致HTML缺少必需的(和标准的)属性: 我究竟做错了什么? 问题答案: 调用该属性是为了与DOM属性API保持一致。如果您使用的是React的开发版本,则应该在控制台中看到有关此的警告。

  • 我是新手,当我使用morphia java mongodb时,我有一个问题。我有“新闻”数据库在mongodb中的收藏是“文章”的一个例子: 在不丢失数据的情况下更新集合的最快方法是什么?如何在将这个文章类映射到MongoDB时忽略额外的字段? 谢谢

  • 问题内容: 我的链接看起来像这样 我想从那里去。我试过了 它输出。 我试过了,但它给了我KeyError。我该如何解决?我的错误是什么? 问题答案: 您可以使用css选择器,使用标题文本拉出所需的跨度: 找到具有包含 RAM 的 title 属性的 跨度 ,等效于在python中说。 或在 re.compile中 使用 find __ 要获取所有数据: 这会给你: