【发布时间】:2021-12-29 08:56:46
【问题描述】:
是否可以使用Beautiful Soup 测试一个 div 是否是(不是必然直接)一个 div 的子级?
例如。
<div class='a'>
<div class='aa'>
<div class='aaa'>
<div class='aaaa'>
</div>
</div>
</div>
<div class='ab'>
<div class='aba'>
<div class='abaa'>
</div>
</div>
</div>
</div>
现在我想测试具有 aaaa 类的 div 和具有 abaa 类的 div 是否是(不一定是直接的)具有类 aa 的 div 的子级。
import bs4
with open('test.html','r') as i_file:
soup = bs4.BeautifulSoup(i_file.read(), 'lxml')
div0 = soup.find('div', {'class':'aa'})
div1 = soup.find('div', {'class':'aaaa'})
div2 = soup.find('div', {'class':'abaa'})
print(div1 in div0) # must return True, but returns False
print(div2 in div0) # must return False
如何做到这一点?
(当然,实际的 HTML 更复杂,嵌套的 div 更多。)
【问题讨论】:
标签: python html beautifulsoup