假设我有这样一个html字符串:
<html>
<div id="d1">
Text 1
</div>
<div id="d2">
Text 2
<a href="http://my.url/">a url</a>
Text 2 continue
</div>
<div id="d3">
Text 3
</div>
</html>
我想提取d2
的内容,即不是由其他标记包装的,跳过a url
。换句话说,我想得到这样的结果:
Text 2
Text 2 continue
有没有办法和美女组一起做?
我试过,但不正确:
soup = BeautifulSoup(html_doc, 'html.parser')
s = soup.find(id='d2').text
print(s)
只有简单的列表理解才能获得
NavigableString
对象。或者,可以使用
decompose
方法删除所有子节点,然后使用text
获取所有剩余项。尝试使用
.find_all(text=True, recursive=False)
:它将返回一个只有
text
的list
:相关问题 更多 >
编程相关推荐