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

在带有美丽汤的特定标签后获取文本

华凡
2023-03-14
问题内容

我有一个像

page.content = "<body><b>Title:</b> Test title</body>"

我可以得到标题标签

soup = BeautifulSoup(page.content)
record_el = soup('body')[0]
b_el = record_el.find('b',text='Title:')

但是我怎样才能在b标签之后得到文本呢?我想通过引用该元素而不是body元素来获取包含“ Title:”的元素之后的文本。


问题答案:

参考的文档,你可能想使用next_sibling你的b_el

b_el.next_sibling    # contains " Test title"

在这种情况下,“同级”是下一个节点,而不是下一个元素/标签。元素的下一个节点是文本节点,因此您可以获得所需的文本。



 类似资料:
  • 我正在尝试使用漂亮的汤解析网页(这是我有生以来第一次),我遇到了一个奇怪的错误。html结构中的标记中有一个标记,我一直收到错误 html标签的结构如下:页面上项目的整个网格都在div类"properties_reviews"中,然后进入div类"preview"中,用于特定项目,该类"preview"还有两个类:照片的"preview-media"和我需要解析的文本信息的"preview-con

  • 我试图使用美丽的汤抓取newegg的产品名称、描述、价格和图像。我有以下bs4.element.标签类型,我想从标签中提取“src”链接。以下是我的标签: 我怎样才能提取 从这个标签?我试过了 但我收到了Keyerror。

  • 我希望从< code>div内的标题和< code >内的文本中提取文本字符串 我可以用<code>汤得到标题。h1</code>,但我想获得特定于div<code>中的<code>h1</code> 超文本标记语言:

  • 考虑一下这段代码: 它只打印“divTag” 更新: 我基本上想在'a'标签中提取“字符串”值。

  • 我试图抓取德国聚会的新闻页面,并将所有信息存储在数据框中(“蟒蛇初学者”)。当我想将整个文本甚至日期存储到数据框中时,只存在一个小问题。似乎只有文本的最后一个元素(p... /p)将被存储在行中。我认为问题的出现是因为循环上的迭代是误导的。

  • 我使用BeautifulSoup从HTML文件中提取信息。我希望能够捕获信息的位置,即BS标记对象的标记在HTML文件中的偏移量。 有办法做到这一点吗? 我目前使用的是lxml解析器,因为它是默认的。