例如,
<ul>
<li>
<b>Hey, sexy!</b>
Hello
</li>
</ul>
我只希望来自li
代码的“Hello”。
如果我使用soup.find("ul").li.text
它还包含b
标记。
答案 0 :(得分:5)
你可以使用find
这样的功能
from bs4 import BeautifulSoup
html = '''<ul><li><b>Hey, sexy!</b>Hello</li></ul>'''
soup = BeautifulSoup(html)
print soup.find('li').find(text=True, recursive=False)
答案 1 :(得分:1)
您可以使用extract()
,这将从树中删除标记。
在你的情况下:
soup.find("ul").b.extract() # removes the <b> tag
soup.find("ul").li.text # contents of <li> without <b>