正在提取<div>标签BeautifulSoup之外的文本

2024-09-28 05:23:53 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在练习刮胡子的时候遇到了这样的情况:

<div class="profileDetail">
    <div class="profileLabel">Mobile : </div>
     021 427 399 
</div>

我需要<div>标记之外的数字:

我的代码是:

^{pr2}$

但是它的输出是Mobile :,只是<div>标记内的文本,而不是它外部的文本。在

那么我们如何提取<div>标记之外的文本呢?在


Tags: 代码标记文本div情况数字mobileclass
2条回答

尝试使用soup.find("div",{"class":"profileLabel"}).next_sibling,这将获取下一个元素,它可以是bs4.Tagbs4.NavigableString。在

bs4.NavigableString是您在本例中试图得到的结果。在

elem = soup.find("div",{"class":"profileLabel"}).next_sibling
print type(elem)

# Should return
bs4.element.NavigableString

示例:

^{2}$

我将创建一个可重用函数以按标签获取值,通过text查找标签并得到next sibling

import re

def find_by_label(soup, label):
    return soup.find("div", text=re.compile(label)).next_sibling

用法:

^{2}$

相关问题 更多 >

    热门问题