2024-09-28 05:23:53 发布
网友
所以我在练习刮胡子的时候遇到了这样的情况:
<div class="profileDetail"> <div class="profileLabel">Mobile : </div> 021 427 399 </div>
我需要<div>标记之外的数字:
<div>
我的代码是:
但是它的输出是Mobile :,只是<div>标记内的文本,而不是它外部的文本。在
Mobile :
那么我们如何提取<div>标记之外的文本呢?在
尝试使用soup.find("div",{"class":"profileLabel"}).next_sibling,这将获取下一个元素,它可以是bs4.Tag或bs4.NavigableString。在
soup.find("div",{"class":"profileLabel"}).next_sibling
bs4.Tag
bs4.NavigableString
bs4.NavigableString是您在本例中试图得到的结果。在
elem = soup.find("div",{"class":"profileLabel"}).next_sibling print type(elem) # Should return bs4.element.NavigableString
我将创建一个可重用函数以按标签获取值,通过text查找标签并得到next sibling:
text
import re def find_by_label(soup, label): return soup.find("div", text=re.compile(label)).next_sibling
用法:
尝试使用
soup.find("div",{"class":"profileLabel"}).next_sibling
,这将获取下一个元素,它可以是bs4.Tag
或bs4.NavigableString
。在bs4.NavigableString
是您在本例中试图得到的结果。在示例:
^{2}$我将创建一个可重用函数以按标签获取值,通过
text
查找标签并得到next sibling:用法:
^{2}$相关问题 更多 >
编程相关推荐